宽度优先遍历
作者:擎天圣同学
- 2023-09-04 浙江
本文字数:579 字
阅读完需:约 2 分钟
宽度优先遍历 借助 queue 出来时打印, 并压入左右节点来保存下一轮的遍历
宽度优先遍历 借助 queue 出来时打印, 并压入左右节点来保存下一轮的遍历
/*
*
*/
public class Code01_LevelTraversalBT_done {
public static class Node {
public int value;
public Node left;
public Node right;
public Node(int v) {
value = v;
}
}
public static void level(Node head) {
if(head == null) return;
LinkedList<Node> queue = new LinkedList<>();
queue.push(head); //同化处理 便于在while中写相同的逻辑
while(!queue.isEmpty()){
Node tempNode = queue.poll();
System.out.print(tempNode.value+" ");
if(tempNode.left!=null){
queue.add(tempNode.left);
}
if(tempNode.right!=null){
queue.add(tempNode.right);
}
}
System.out.println();
}
public static void main(String[] args) {
Node head = new Node(1);
head.left = new Node(2);
head.right = new Node(3);
head.left.left = new Node(4);
head.left.right = new Node(5);
head.right.left = new Node(6);
head.right.right = new Node(7);
level(head);
System.out.println("========");
}
}
复制代码
划线
评论
复制
发布于: 刚刚阅读数: 6
擎天圣同学
关注
还未添加个人签名 2019-12-01 加入
还未添加个人简介
评论