java层次遍历二叉树

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

    import java.util.ArrayList;
    import java.util.LinkedList;

    /**
     * 遍历层次二叉树
     * 
     * @author chenjunxu
     *
     */
    public class Main {
        public static void main(String[] args) {
            // 队列
            LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
            // 模拟数据
            TreeNode root = new TreeNode("1");
            TreeNode root2 = new TreeNode("2");
            root.leftTree = root2;
            // 将头节点加入队列
            queue.add(root);
            TreeNode temp = null;
            // 收集结果
            ArrayList<String> resultArray = new ArrayList<String>();
            // 通过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;
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 树的概述 树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构 1.树的定...
    Jack921阅读 4,786评论 1 31
  • 最近看了一下大学的数据结构,🈶学到了以前没学到的东西看到了二叉树那一块,感觉二叉树是个很重要的东西,就看了一下底层...
    MiBoy阅读 3,889评论 2 12
  • 一直以来,我都很少使用也避免使用到树和图,总觉得它们神秘而又复杂,但是树在一些运算和查找中也不可避免的要使用到,那...
    24K男阅读 6,867评论 5 14
  • 四、树与二叉树 1. 二叉树的顺序存储结构 二叉树的顺序存储就是用数组存储二叉树。二叉树的每个结点在顺序存储中都有...
    MinoyJet阅读 1,758评论 0 7
  • 0. 什么是树 数据的基本单位是数据元素,在涉及到数据处理时数据元素之间的关系称之为结构,我们依据数据元素之间关系...
    安安zoe阅读 545评论 0 0

友情链接更多精彩内容