用队列实现 二叉树的层序遍历(广度优先遍历)—Java实现
思想及代码如下:
//层序遍历
public void levelOrderTraversal(Node root){
//若根节点为空则返回
if(root == null){
return;
}
//根节点不为空则如下分析:
//1.将根节点放入队列,开始遍历二叉树
//2.输出队首元素,
//3.若左子树不为空,则入队列
//4.若右子树不为空,则入队列
Queue<Node> queue = new LinkedList<>();
queue.offer(root);
while(!queue.isEmpty()){
Node front = queue.poll();
System.out.println(front.val);
if(root.left != null){
queue.offer(root.left);
}
if(root.right != null){
queue.offer(root.right);
}
}
}