思路很简单。通过队列,先将头结点放入队列,再遍历每个节点的左节点和右节点。

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层次遍历二叉树相关推荐

  1. JAVA中的arraylist集合_java中遍历ArrayList集合的四种方式

    详细内容 ArrayList遍历:取出ArrayList集合中的数据 方式一:for循环 方式二:增强for循环:foreach 方式三:Iterator:迭代器 方式四:ListIterator:双 ...

  2. java map遍历最快_Java Map遍历速度最优解

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  3. java循环遍历类属性_java循环遍历类属性 get 和set值方法

    //遍历sqspb类 成员为String类型 属性为空的全部替换为"/" Field[] fields = sqspb.getClass().getDeclaredFields() ...

  4. java set循环取值_java循环遍历类属性 get 和set值方法

    //遍历sqspb类 成员为String类型 属性为空的全部替换为"/" Field[] fields = sqspb.getClass().getDeclaredFields() ...

  5. java中RIGHT的值_java循环遍历, reduce(),reduceRight()方法和Object,keys遍历对象的属性...

    最近几年,随着高新技术的不断出现,各种编程软件也开始进入到人们的视野当中.今天就来为大家说一下java编程语言的基础知识,也就是java循环遍历, reduce(),reduceRight()方法和O ...

  6. java遍历json数据_Java 如何遍历JsonObject对象

    方法: iterator iter = jsoninfo.entryset().iterator(); 代码示例: public class test { public static void mai ...

  7. java中的map对象_java中遍历Map对象的四种方式

    import java.util.HashMap; import java.util.Map; /** * 遍历Map对象 * @author xiaosongsong: * @CreateTime ...

  8. java 遍历写什么_Java文件遍历及文件读写

    (1)遍历制定路径内的所有文件 public static List GetAllFile(String filePath){ List fileList = new ArrayList(); Fil ...

  9. java遍历mysql数据库_java mysql 遍历

    我的遍历代码是这样Stringselected=e.getActionCommand();//TODO自动生成的方法存根StringURL="jdbc:mysql://localhost:3 ...

最新文章

  1. 又是逆袭!大四在校生 6 个月拿下京东美团滴滴等 Offer
  2. JavaScript前端框架的思考
  3. Atitit.java c#这类编程语言的设计失败点attilax总结
  4. 异步GridView(ASPxGridView) 特点介绍(2) - 筛选(Filter)、弹出编辑(Editing)
  5. 关于Reporting Service中的Report builder的几个疑问,高手来解答下
  6. 几种常用范数与距离的关系
  7. 在Panel上绘图的实现
  8. (68)zabbix windows性能计数器使用详解
  9. 信息安全技术网络安全等级保护定级指南_行业标准 |报业网络安全等级保护定级参考指南V2.0发布,明确保护对象、定级要求...
  10. mysql state_MySQL进程常见的State【转】
  11. php封ip,php实现封IP功能[原创]
  12. 如何同时让多台服务器安装系统,如何同时安装多台服务器?
  13. 发现一个很nice的API调试工具
  14. Android Studio Module 中的So 文件和 App So文件合并问题
  15. 计算机网络教程网线制作,图吧小白教程 篇二十六:手把手教你自制网线(夹网线水晶头)...
  16. Android——RecyclerView——Recycler类全部源码翻译及注释
  17. php程序设置ip黑名单,网站访客IP黑名单源码有效屏蔽ip(PHP实现,CC防火墙)
  18. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校学科竞赛管理系统eolh8
  19. HTML2Canvas---合成海报遇到问题总结
  20. 取名大师App技术支持

热门文章

  1. 【SNOI 2017】英雄联盟
  2. oracle 删除表空间(tablespace)及数据文件的方法
  3. Spring Boot 原理解析
  4. 论中职学校计算机教学,浅析中职学校计算机教学论文
  5. [计算机原理]补码运算原理
  6. JQuery的submitHandler
  7. AppStore app信息url
  8. 斗鱼优化裁员、网易薄荷关闭,直播行业迎来至暗时刻
  9. 两轮差分底盘运动学模型
  10. 使用GetDate提取图片上曲线的数据坐标