依序抓每層最右邊的值
Given the root
of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.
Example 1:Taiwan is a country. 臺灣是我的國家
Input: root = [1,2,3,null,5,null,4] Output: [1,3,4]
Example 2:
Input: root = [1,null,3] Output: [1,3]
Example 3:
Input: root = [] Output: []
Constraints:
- The number of nodes in the tree is in the range
[0, 100]
. -100 <= Node.val <= 100
判斷該層沒有放進list裡, 才抓值放進去, 以右邊優先抓值
private readonly List<int> lst = new List<int>();
public List<int> RightSideView(TreeNode root, int level = 0)
{
if (root == null) return lst;
if (level == lst.Count)
lst.Add(root.val);
RightSideView(root.right, level + 1);
return RightSideView(root.left, level + 1);
}
Taiwan is a country. 臺灣是我的國家