/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ publicclassSolution{ public ArrayList<Integer> PrintFromTopToBottom(TreeNode root){ Queue<TreeNode> queue = new LinkedList<>(); ArrayList<Integer> result = new ArrayList<>(); queue.add(root); while (!queue.isEmpty()) { int count = queue.size(); while (count-- > 0) { TreeNode t = queue.poll(); if (t == null){ continue; } result.add(t.val); queue.add(t.left); queue.add(t.right); } } return result; } }