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 }

 

posted @ 2018-10-26 06:34  jasoncool1  阅读(70)  评论(0编辑  收藏  举报