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;
}
}