https://leetcode.com/problems/binary-tree-right-side-view/
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: 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
- code
class Solution {
public List<Integer> rightSideView(TreeNode root) {
List<Integer> res = new ArrayList<>();
LinkedList<TreeNode> level = new LinkedList<>();
if (root != null) level.offer(root);
while (!level.isEmpty()){
res.add(level.peekLast().val);
int level_size = level.size();
for (int i = 0; i < level_size; i++){
TreeNode cur = level.pollFirst();
if (cur.left != null) level.offerLast(cur.left);
if (cur.right != null) level.offerLast(cur.right);
}
}
return res;
}
}