剑指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 }