// 从上往下打印出二叉树的每个节点,同层节点从左至右打印。
// 思路:建立一个队列,初始化插入根节点,当队列不是空时,pop()出来一个节点,将节点值插入list,当节点有左节点,插入query,有右节点,插入query,pop()时候先放入的先弹出,
// 插入的子节点一定在父节点后面
public static ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
Queue<TreeNode> query=new LinkedList<>();
if(root==null){
return new ArrayList<>();
}
ArrayList<Integer> list=new ArrayList<>();
query.add(root);
while(!query.isEmpty())
{
TreeNode t=query.poll();
list.add(t.val);
if(t.left!=null) query.add(t.left);
if(t.right!=null) query.add(t.right);
}
return list;
}