【剑指OFFER】从上往下打印二叉树
【问题描述】
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
【AC代码】
1 import java.util.ArrayList; 2 /** 3 public class TreeNode { 4 int val = 0; 5 TreeNode left = null; 6 TreeNode right = null; 7 8 public TreeNode(int val) { 9 this.val = val; 10 11 } 12 13 } 14 */ 15 public class Solution { 16 public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { 17 ArrayList<Integer> list = new ArrayList<>(); 18 ArrayList<TreeNode> queue = new ArrayList<>(); 19 if (root == null) return list; 20 queue.add(root); 21 while (queue.size() != 0) { 22 TreeNode tmp = queue.remove(0); 23 list.add(tmp.val); 24 if (tmp.left != null) queue.add(tmp.left); 25 if (tmp.right != null) queue.add(tmp.right); 26 } 27 return list; 28 } 29 }