import java.util.LinkedList;
import java.util.Queue;
/**
* 按层遍历二叉树
*/
public class LevelTraversalBT {
public void levelTraversalBT(Node head) {
if (head == null) {
return;
}
// 用队列实现
Queue<Node> queue = new LinkedList<>();
queue.add(head);
while (!queue.isEmpty()) {
Node node = queue.poll();
System.out.println(node.value);
if (node.left != null) {
queue.add(node.left);
}
if (node.right != null) {
queue.add(node.right);
}
}
}
/**
* 二叉树结构
*/
public class Node {
public int value;
public Node left;
public Node right;
public Node(int value) {
this.value = value;
}
}
}
/* 如有意见或建议,欢迎评论区留言;如发现代码有误,欢迎批评指正 */
按层遍历二叉树
原创
©著作权归作者所有:来自51CTO博客作者放下也不自在的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【二叉树】二叉树的层序遍历 II
题目给定一个二叉树返回其节点值 自底向上 的层序遍历即按从叶子节点
swift 层序遍历 算法 二叉树 ios -
python 层遍历 二叉树 二叉树的层序遍历python
二叉树的层序遍历 II给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
python 层遍历 二叉树 算法 数据结构 深度优先 层序遍历