博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的遍历
阅读量:6158 次
发布时间:2019-06-21

本文共 2312 字,大约阅读时间需要 7 分钟。

hot3.png

   /**     * 树形结构     */    public static class TreeNode {        int val;        TreeNode left;        TreeNode right;      TreeNode(int x, TreeNode left, TreeNode right) {            this.val = x;            this.left = left;            this.right = right;        }    }        /**    * 树形结构    */    public TreeNode init() {        TreeNode D = new TreeNode(4, null, null);        TreeNode E = new TreeNode(5, null, null);        TreeNode F = new TreeNode(6, null, null);        TreeNode G = new TreeNode(7, null, null);      TreeNode B = new TreeNode(2, D, E);        TreeNode C = new TreeNode(3, F, G);        TreeNode A = new TreeNode(1, B, C);        return A;    }     public static void printData(TreeNode treeNode) {        System.out.print(treeNode.val + "--");    }  /**    * 前序遍历    */    public static void topOrder(TreeNode treeNode) {        printData(treeNode);        if (Objects.nonNull(treeNode.left)) {            topOrder(treeNode.left);        }        if (Objects.nonNull(treeNode.right)) {            topOrder(treeNode.right);        }    }  /**    * 中序遍历    */    public static void midOrder(TreeNode treeNode) {        if (Objects.nonNull(treeNode.left)) {            midOrder(treeNode.left);        }        printData(treeNode);        if (Objects.nonNull(treeNode.right)) {            midOrder(treeNode.right);        }    }  /**    * 后序遍历    */    public static void lastOrder(TreeNode treeNode) {        if (Objects.nonNull(treeNode.left)) {            lastOrder(treeNode.left);        }        if (Objects.nonNull(treeNode.right)) {            lastOrder(treeNode.right);        }        printData(treeNode);    }  /**    * 层次遍历    */    public static void layer(TreeNode treeNode) {        Objects.requireNonNull(treeNode);        LinkedList
queue = new LinkedList<>();       queue.offer(treeNode);       TreeNode treeNodePoll;       while (CollectionUtils.isNotEmpty(queue)) {           treeNodePoll = queue.poll();           System.out.print(treeNodePoll.val + "--");           if (Objects.nonNull(treeNodePoll.left)) {               queue.offer(treeNodePoll.left);           }           if (Objects.nonNull(treeNodePoll.right)) {               queue.offer(treeNodePoll.right);           }       }   }

转载于:https://my.oschina.net/u/3029314/blog/3022204

你可能感兴趣的文章
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>
7.对象创建型模式-总结
查看>>
【论文阅读】Classification of breast cancer histology images using transfer learning
查看>>
移动端处理图片懒加载
查看>>
jQuery.on() 函数详解
查看>>
谈缓存和Redis
查看>>
【转】百度地图api,根据多点注标坐标范围计算地图缩放级别zoom自适应地图
查看>>
用户调研(补)
查看>>
ExtJS之开篇:我来了
查看>>
☆1018
查看>>
oracle 去掉空格
查看>>
6.13心得
查看>>
Runtime类
查看>>
eclipse decompiler
查看>>
记一个搜索网盘资源的网站
查看>>
jdk1.7和jdk1.8的String的getByte方法的差异
查看>>
java父子进程通信
查看>>