从上往下打印二叉树

题目

  从上往下打印出二叉树的每个节点,同层节点从左至右打印。

 

分析

  利用队列

 

代码

 

 1     public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
 2         ArrayList<Integer> list = new ArrayList<Integer>();
 3         if(root==null)
 4             return list;
 5         TreeNode node = root;
 6         Queue<TreeNode> q = new LinkedList<TreeNode>();
 7         q.add(node);
 8         while(!q.isEmpty()){
 9             TreeNode temp = q.poll();
10             list.add(temp.val);
11             if(temp.left!=null){
12                 q.add(temp.left);
13             }
14             if(temp.right!=null){
15                 q.add(temp.right);
16             }
17         }
18         return list;
19     }

 

posted on 2017-06-07 09:52  一个不会coding的girl  阅读(139)  评论(0编辑  收藏  举报

导航