题解 | #从上往下打印二叉树#
从上往下打印二叉树
https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed259701
import java.util.*; 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 ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { if (root == null) { return new ArrayList<>(); } List<Integer> list = new ArrayList<>(); Queue<TreeNode> queue = new ArrayDeque<>(); queue.offer(root); while (!queue.isEmpty()) { TreeNode c = queue.poll(); list.add(c.val); if (c.left != null) { queue.offer(c.left); } if (c.right != null) { queue.offer(c.right); } } return (ArrayList<Integer>) list; } }