题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
分析
用arraylist模拟一个队列来存储相应的TreeNode
贴出代码
import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { public ArrayListPrintFromTopToBottom(TreeNode root) { ArrayList list = new ArrayList<>(); ArrayList queue = new ArrayList<>(); if(root == null) { return list; } queue.add(root); while(queue.size() != 0) { TreeNode temp = queue.remove(0); if(temp.left != null) { queue.add(temp.left); } if(temp.right != null) { queue.add(temp.right); } list.add(temp.val); } return list; }}