二叉树的层次遍历
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
思路
- 把根放入队列中
- 循环直到队列为空
1.把队首结点取出
2.把队首结点的左右孩子(非空)放入队列
主要代码
public static void levelOrderTraversal(TreeNode root){
if(root==null){
return ;
}
Queue<TreeNode> queue=new LinkedList<>();
queue.add(root);
while(!queue.isEmpty()){
TreeNode front=queue.poll();
System.out.println(front.val);
if(front.left!=null){
queue.add(front.left);
}
if(front.right!=null){
queue.add(front.right);
}
}
}