题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
代码实现
public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<>();
ArrayList<Integer> list = new ArrayList<>();
if (root == null) {
return list;
}
queue.add(root);
while(!queue.isEmpty()){//一直将队列中所有元素都出队为止
TreeNode tempNode = queue.poll();//出队操作
list.add(tempNode.val);
if (tempNode.left!=null)//节点的左右子树入队操作
queue.add(tempNode.left);
if (tempNode.right!=null)
queue.add(tempNode.right);
}
return list;
}
网友评论