剑指Offer之从上往下打印二叉树

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。
 
思路:层次遍历、用队列这个数据结构。
 
 1 public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
 2         Queue<TreeNode> queue=new LinkedList<>();
 3         ArrayList<Integer> list=new ArrayList<>();
 4         if(root==null)
 5             return list;
 6         queue.add(root);
 7         while(!queue.isEmpty()) {
 8             TreeNode node=queue.peek();
 9             if(node.left!=null)
10                 queue.add(node.left);
11             if(node.right!=null)
12                 queue.add(node.right);
13             list.add(node.val);
14             queue.poll();
15         }
16         return list;
17     }

 

posted @ 2020-05-28 13:55  Student-JacobLee  阅读(140)  评论(0编辑  收藏  举报