题目
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
分析
利用队列
代码
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 }