层序遍历
层序遍历,就是从根节点(第一层)开始,依次向下,获取每一层结点的值。

层序遍历结果为EBGADFHC
实现步骤
1.创建队列
2.使用循环从队列中弹出一个结点
2.1获取当前结点的key
2.2如果当前结点的左子结点不为空,则把左子结点放入队列中
2.3如果当前结点的右子结点不为空,则把右子结点放入队列中
//层序遍历
public Queue<Key> layerErgodic(){
//定义两个队列,分别存储树中的键和树中的结点
Queue<Key> keys = new Queue<>();
Queue<Node> nodes = new Queue<>();
//往队列中放入根节点
nodes.enqueue(root);
while(!nodes.isEmpty()){
//往队列中弹出一个节点,把key放进keys中
Node n=nodes.dequeue();
keys.enqueue(n.key);
//判断当前节点是否还有左子树,有的话放进nodes队列中
if (n.left!=null){
nodes.enqueue(n.left);
}
//右子树
if (n.right!=null){
nodes.enqueue(n.right);
}
}
return keys;
}
测试结果

本文详细介绍了二叉树层序遍历的实现方法,通过创建队列并利用循环逐层获取结点值来完成遍历过程。展示了具体的实现代码及测试结果。
&spm=1001.2101.3001.5002&articleId=123864973&d=1&t=3&u=3e312d8886544b9db0559c6b0bd23198)
282

被折叠的 条评论
为什么被折叠?



