java层次遍历建立二叉树_java层次遍历二叉树
思路很简单。通过队列,先将头结点放入队列,再遍历每个节点的左节点和右节点。
import java.util.ArrayList;
import java.util.LinkedList;
/**
* 遍历层次二叉树
*
* @author chenjunxu
*
*/
public class Main {
public static void main(String[] args) {
// 队列
LinkedList queue = new LinkedList();
// 模拟数据
TreeNode root = new TreeNode("1");
TreeNode root2 = new TreeNode("2");
root.leftTree = root2;
// 将头节点加入队列
queue.add(root);
TreeNode temp = null;
// 收集结果
ArrayList resultArray = new ArrayList();
// 通过while循环,将队列内容全部取出
while (!queue.isEmpty()) {
// 取出队列第一个节点
temp = queue.poll();
// 该节点若有左子树,则添加至队列尾部
if (temp.leftTree != null) {
queue.add(temp.leftTree);
}
// 该节点若有右子树,则添加至队列尾部
if (temp.rightTree != null) {
queue.add(temp.rightTree);
}
// 保存结果
resultArray.add(temp.val);
}
// 输出结果
for (String str : resultArray) {
System.out.println(str);
}
}
}
/**
* 二叉树节点
*
* @author chenjunxu
*
*/
class TreeNode {
public String val = "root";
public TreeNode leftTree = null;
public TreeNode rightTree = null;
public TreeNode(String val) {
this.val = val;
}
}
java层次遍历建立二叉树_java层次遍历二叉树相关推荐
- JAVA中的arraylist集合_java中遍历ArrayList集合的四种方式
详细内容 ArrayList遍历:取出ArrayList集合中的数据 方式一:for循环 方式二:增强for循环:foreach 方式三:Iterator:迭代器 方式四:ListIterator:双 ...
- java map遍历最快_Java Map遍历速度最优解
第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...
- java循环遍历类属性_java循环遍历类属性 get 和set值方法
//遍历sqspb类 成员为String类型 属性为空的全部替换为"/" Field[] fields = sqspb.getClass().getDeclaredFields() ...
- java set循环取值_java循环遍历类属性 get 和set值方法
//遍历sqspb类 成员为String类型 属性为空的全部替换为"/" Field[] fields = sqspb.getClass().getDeclaredFields() ...
- java中RIGHT的值_java循环遍历, reduce(),reduceRight()方法和Object,keys遍历对象的属性...
最近几年,随着高新技术的不断出现,各种编程软件也开始进入到人们的视野当中.今天就来为大家说一下java编程语言的基础知识,也就是java循环遍历, reduce(),reduceRight()方法和O ...
- java遍历json数据_Java 如何遍历JsonObject对象
方法: iterator iter = jsoninfo.entryset().iterator(); 代码示例: public class test { public static void mai ...
- java中的map对象_java中遍历Map对象的四种方式
import java.util.HashMap; import java.util.Map; /** * 遍历Map对象 * @author xiaosongsong: * @CreateTime ...
- java 遍历写什么_Java文件遍历及文件读写
(1)遍历制定路径内的所有文件 public static List GetAllFile(String filePath){ List fileList = new ArrayList(); Fil ...
- java遍历mysql数据库_java mysql 遍历
我的遍历代码是这样Stringselected=e.getActionCommand();//TODO自动生成的方法存根StringURL="jdbc:mysql://localhost:3 ...
最新文章
- 又是逆袭!大四在校生 6 个月拿下京东美团滴滴等 Offer
- JavaScript前端框架的思考
- Atitit.java c#这类编程语言的设计失败点attilax总结
- 异步GridView(ASPxGridView) 特点介绍(2) - 筛选(Filter)、弹出编辑(Editing)
- 关于Reporting Service中的Report builder的几个疑问,高手来解答下
- 几种常用范数与距离的关系
- 在Panel上绘图的实现
- (68)zabbix windows性能计数器使用详解
- 信息安全技术网络安全等级保护定级指南_行业标准 |报业网络安全等级保护定级参考指南V2.0发布,明确保护对象、定级要求...
- mysql state_MySQL进程常见的State【转】
- php封ip,php实现封IP功能[原创]
- 如何同时让多台服务器安装系统,如何同时安装多台服务器?
- 发现一个很nice的API调试工具
- Android Studio Module 中的So 文件和 App So文件合并问题
- 计算机网络教程网线制作,图吧小白教程 篇二十六:手把手教你自制网线(夹网线水晶头)...
- Android——RecyclerView——Recycler类全部源码翻译及注释
- php程序设置ip黑名单,网站访客IP黑名单源码有效屏蔽ip(PHP实现,CC防火墙)
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校学科竞赛管理系统eolh8
- HTML2Canvas---合成海报遇到问题总结
- 取名大师App技术支持