import java.util.*; public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { // 初始化 ArrayList<Integer> res = new ArrayList<>(); // 存储输出结果序列 Queue<TreeNode> queue = new LinkedList<>(); // 辅助队列 // 预处理 if (root == null) return res; queue.offer(root); // 层序遍历,直到队列为空 while (!queue.isEmpty()) { // 队首元素出队 TreeNode head = queue.poll(); res.add(head.val); // 其左右子结点入队 if (head.left != null) queue.offer(head.left); if (head.right != null) queue.offer(head.right); } // 层序遍历结束,输出结果 return res; } }