二叉树层序遍历Java实现「建议收藏」

二叉树层序遍历Java实现「建议收藏」publicclassNode{privateintvalue;privateNodelchild;privateNoderchild;publicintgetValue(){returnvalue;}publicvoidsetValue(intvalue){this.value=value;}

大家好,又见面了,我是你们的朋友全栈君。

二叉树层序遍历Java实现「建议收藏」

public class Node {


private int value;


private Node lchild;


private Node rchild;


public int getValue() {


return value;


}

public void setValue(int value) {


this.value = value;


}


public Node getLchild() {


return lchild;


}


public void setLchild(Node lchild) {


this.lchild = lchild;


}


public Node getRchild() {


return rchild;


}


public void setRchild(Node rchild) {


this.rchild = rchild;


}


@Override


public String toString() {


return “Node [value=” + value + “]”;


}

}

import java.util.LinkedList;
import java.util.Queue;

public class Main {

public static void show(Node node) {

Queue<Node> queue = new LinkedList<>();
if (node == null) {

return;
}
queue.offer(node);
while (queue.peek() != null) {

Node n = queue.poll();
System.out.print(n.getValue());
if (n.getLchild() != null) {

queue.offer(n.getLchild());
}

if (n.getRchild() != null) {

queue.offer(n.getRchild());
}

}

}

public static void main(String[] args) {

Node[] nodes = new Node[10];
for (int i = 1; i < nodes.length; i++) {

Node n = new Node();
n.setValue(i);
nodes[i] = n;
}

nodes[1].setLchild(nodes[2]);
nodes[1].setRchild(nodes[3]);

nodes[2].setLchild(nodes[4]);
nodes[2].setRchild(nodes[5]);

nodes[3].setLchild(nodes[6]);
nodes[3].setRchild(nodes[7]);

nodes[4].setLchild(nodes[8]);
nodes[5].setRchild(nodes[9]);

show(nodes[1]);
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143600.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月11日 下午2:20
下一篇 2022年5月11日 下午2:40


相关推荐

  • @Transactional(rollbackFor=Exception.class)的使用

    @Transactional(rollbackFor=Exception.class)的使用引言 最近在优化项目的代码 然后使用的是阿里的 P3C 代码规范检查 然后就出现了如下的提示 方法 create 需要在 Transactiona 注解指定 rollbackFor 或者在方法中显示的 rollback 原因 并未在方法内或者注解上说明发生异常时如何回滚 下图是方法的完整的代码 解决方案之一 在此方法 Transactiona 注解后面加上 rollbackFor E

    2026年3月18日
    2
  • matlab 用循环求和,matlab循环求和函数[通俗易懂]

    matlab 用循环求和,matlab循环求和函数[通俗易懂]matlab求和的出错symsum是符号运算,要先用syms定义符号变量用法详见docsymsum如何用matlab解带求和函数sum的方程举个例子吧:D=[345];A=7;fsolve(@(X)sum(10.^(X-D))-A,0)则ans=3.7998就这么简单.(还想补充说明一点,fsolve中第一个变量是一个函数句柄,第二个变量matlab求和.符号运算通过符号运算把这个式子拆开什么意…

    2022年10月6日
    4
  • 卡尔曼滤波 原理(卡尔曼滤波5个重要公式讲解)

    详解卡尔曼滤波原理  在网上看了不少与卡尔曼滤波相关的博客、论文,要么是只谈理论、缺乏感性,或者有感性认识,缺乏理论推导。能兼顾二者的少之又少,直到我看到了国外的一篇博文,真的惊艳到我了,不得不佩服作者这种细致入微的精神,翻译过来跟大家分享一下,

    2022年4月14日
    475
  • sql2008“备份集中的数据库备份与现有的xx数据库不同”解决方法[通俗易懂]

    sql2008“备份集中的数据库备份与现有的xx数据库不同”解决方法[通俗易懂]原文链接:http://www.cnblogs.com/huangfr/archive/2012/08/09/2629687.html1.因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库,不让还原,在网上找到下面的方法解决了:一、右击系统数据库master,新建查询执行以下SQL代码:RESTOREDATABASExxxFROMDI

    2022年6月6日
    39
  • 软件开发视频资源分享[通俗易懂]

    软件开发视频资源分享[通俗易懂]资源分享资源均来源于网络,在自学/开公众号的时候收集而来。如果侵权请联系我,会第一时间删除。如果链接已失效(我也无办法,很多链接我是没有保存在自已的网盘中的,见谅)。Java基础Java马士兵:链接:https://pan.baidu.com/s/1jJRvxGi密码:v3xbJava毕向东:可以到往B站找,已上传到B站Java刘意:链接:https://pan.bai…

    2022年5月21日
    47
  • JAVA操作FTP(FTP工具类)

    JAVA操作FTP(FTP工具类)JAVAFTP操作导入commons-net<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.6</version></dependency>packagecom.my.ftp.test;importjava.io.File;imp

    2022年6月9日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号