public class levelTree {
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
ArrayList<Integer> queue = new ArrayList<Integer>();
Queue<TreeNode> queueTree = new LinkedList<TreeNode>();
//整两个队列吧,一个存节点 一个存节点的值
if(root==null)
return null;
queue.add(root.val);
queueTree.add(root);
//这个树节点队列保存树的节点,首先保存root节点取出对应的val保存在queue中
// 并保存非空的左右孩子,以及左右孩子对应的val
while (!queueTree.isEmpty()){
root=queueTree.poll(); //队首的节点出队
if(root.left!=null){
queue.add(root.left.val);
queueTree.add(root.left);
}
if(root.right!=null){
queue.add(root.right.val);
queueTree.add(root.right);
}
}
return queue;
}
}
JZ22 从上往下打印二叉树
最新推荐文章于 2022-09-04 13:01:57 发布