package web; /** * @program LeetNiu * @description: 从上往下打印二叉树 * @author: mf * @create: 2020/01/13 10:23 */ import java.util.ArrayList; import java.util.LinkedList; /** * 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 */ public class T22 { public ArrayList PrintFromTopToBottom(TreeNode root) { ArrayList list = new ArrayList<>(); if (root == null) return list; // 队列 LinkedList queue = new LinkedList<>(); queue.offer(root); while (!queue.isEmpty()) { TreeNode node = queue.poll(); list.add(node.val); if (node.left != null) queue.offer(node.left); if (node.right != null) queue.offer(node.right); } return list; } }