199. Binary Tree Right Side View
DFS不行 可能最后会有遗漏
1 class Solution { 2 List<Integer> res = new ArrayList<>(); 3 public List<Integer> rightSideView(TreeNode root) { 4 if(root == null) return res; 5 Queue<TreeNode> queue = new LinkedList<>(); 6 queue.offer(root); 7 int size = queue.size(); 8 while(!queue.isEmpty()){ 9 for(int i = 0; i < size; i++){ 10 TreeNode node = queue.poll(); 11 if(i == size - 1){ 12 res.add(node.val); 13 } 14 if(node.left != null){ 15 queue.offer(node.left); 16 } 17 if(node.right != null){ 18 queue.offer(node.right); 19 } 20 } 21 size = queue.size(); 22 } 23 return res; 24 25 } 26 27 28 }