首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何编写在二叉树(java)中按级别顺序(从左到右)插入节点的方法?

在Java中,可以使用队列来实现按级别顺序(从左到右)插入节点的方法。具体步骤如下:

  1. 首先,定义一个二叉树节点类,包含节点值和左右子节点的引用。
代码语言:txt
复制
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    public TreeNode(int val) {
        this.val = val;
    }
}
  1. 创建一个队列,用于存储待插入节点的父节点。
代码语言:txt
复制
Queue<TreeNode> queue = new LinkedList<>();
  1. 如果二叉树为空,直接将新节点作为根节点。
代码语言:txt
复制
if (root == null) {
    root = new TreeNode(val);
    return root;
}
  1. 将根节点加入队列。
代码语言:txt
复制
queue.offer(root);
  1. 使用循环遍历队列,直到队列为空。
代码语言:txt
复制
while (!queue.isEmpty()) {
    TreeNode parent = queue.poll();

    // 尝试插入左子节点
    if (parent.left == null) {
        parent.left = new TreeNode(val);
        return root;
    } else {
        queue.offer(parent.left);
    }

    // 尝试插入右子节点
    if (parent.right == null) {
        parent.right = new TreeNode(val);
        return root;
    } else {
        queue.offer(parent.right);
    }
}

完整的代码如下:

代码语言:txt
复制
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    public TreeNode(int val) {
        this.val = val;
    }
}

public class BinaryTreeInsertion {
    public static TreeNode insertLevelOrder(TreeNode root, int val) {
        Queue<TreeNode> queue = new LinkedList<>();

        if (root == null) {
            root = new TreeNode(val);
            return root;
        }

        queue.offer(root);

        while (!queue.isEmpty()) {
            TreeNode parent = queue.poll();

            // 尝试插入左子节点
            if (parent.left == null) {
                parent.left = new TreeNode(val);
                return root;
            } else {
                queue.offer(parent.left);
            }

            // 尝试插入右子节点
            if (parent.right == null) {
                parent.right = new TreeNode(val);
                return root;
            } else {
                queue.offer(parent.right);
            }
        }

        return root;
    }

    public static void main(String[] args) {
        TreeNode root = null;
        root = insertLevelOrder(root, 1);
        root = insertLevelOrder(root, 2);
        root = insertLevelOrder(root, 3);
        root = insertLevelOrder(root, 4);
        root = insertLevelOrder(root, 5);
    }
}

这个方法可以确保按级别顺序(从左到右)插入节点,即先从根节点开始,逐层遍历二叉树,找到第一个空闲位置插入新节点。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

第二轮面试:手写Java二叉树

[Java知己] 阿里面试 --------- 现在很多公司在招聘开发岗位的时候,都会事先在招聘信息中注明面试者应当具备的知识技能,而且在面试的过程中,有部分对于技能掌握程度有严格要求的公司还会要求面试者手写代码...有需要的同学可以来在公众号【Java知己】,发送【面试】领取最新面试资料攻略! 让我们一起来实现二叉树 ---------- 现在,让我们看看可以在二叉树上执行的最常见操作有哪些?...: public void add(int value) { root = addRecursive(root, value); } 现在让我们看看如何使用此方法从我们的示例中创建树: private...这种遍历也称为按级别顺序,并从根开始,从左到右访问树的所有级别。 对于实现,将我们使用 队列 按顺序保存每个级别的节点。...--- 在本文中,我们已经了解了如何在Java中实现已排序的二叉树及其最常见的操作。

1.6K11

如何学习算法:什么时完全二叉树?完全二叉树有什么特点?

高度为 h 的完全二叉树是高度为h-1的完美二叉树,并且在最后一层中元素按从左到右的顺序存储。...现在对于一个完整的二叉树,它的高度达到h-1,即;1、最后一层元素按照从左到右的顺序存储。因此它也是一棵完全二叉树。这是存储在数组中时元素的表示形式 元素逐级存储在数组中。...因此它不是完美的二叉树。 现在对于一个完整的二叉树,它的高度达到 h-1,即;1 和最后一级元素按从左到右的顺序存储。因此这是一个完全二叉树。...将元素存储在数组中,它会像; 示例3: 二叉树的高度为2,最多可以有7个节点,但只有5个节点,因此它不是完美的二叉树。 在完全二叉树的情况下,我们看到在最后一层元素不是从左到右顺序填充的。...利用这个概念,我们可以通过选择父节点来轻松插入左节点和右节点。我们将插入数组中存在的第一个元素作为树中第 0 层的根节点,并开始遍历数组,对于每个节点,我们将在树的左侧和右侧插入子节点。

17110
  • 数据结构07 二叉树

    5、二叉树的两种存储结构 5-1:顺序存储  对于完全二叉树而言,可以使用顺序存储结构。...但对于一般的二叉树而言,使用顺序存储结构会有两个缺点:一、如果不是完全二叉树,则必须将其转化为完全二叉树;二、增加了很多虚节点,浪费资源空间。 ?...6、二叉树的常见操作 6-1:插入节点 思路:首先找到要插入节点的父节点,然后确定插入到父节点的左边还是右边,最后将节点插入。 6-2:查找节点 思路:运用递归查找。...,最后访问根节点 6-7:遍历之 按层遍历 思路:从上到下,从左到右遍历节点 7、二叉树的常见操作的代码实现 代码如下: 节点类Node.java  public class Node { public...System.out.print(root.data + " "); } /** * 按层遍历 * 思路:从上到下,从左到右遍历节点 *

    81140

    深入理解二叉树的特点

    完全二叉树:是指在二叉树里面除了最下面的2层节点之外,之上的节点都必须有2个孩子节点,最底层的叶子节点没有孩子,在倒数第二层的节点可以拥有0,1,2个孩子节点,此外,最底层级别的节点添加必须从左到右,不能跳跃...满二叉树 VS 完全二叉树 (一) 不是每一个满二叉树都是完全二叉树 (1) 满二叉树的叶子节点可以出现在任何级别,完全二叉树只能出现最底层的两个级别。...(2) 满二叉树最底层的级别的添加,不需要从左到右 (二)不是每一个完全二叉树都是一个满二叉树 (1)完全二叉树的节点可以拥有0,1,2 个孩子节点,而满二叉树只能是0或者2个。...,然后左孩子和右孩子) (2)中序遍历 (先左孩子,然后父节点和右孩子) (3)后序遍历 (先左孩子,然后右孩子和父节点) (二) 广度优先遍历 广度优先遍历仅仅只有一种策略按层级顺序遍历,遍历的顺序是从顶到底...最后在广度优先的层级遍历中,这个其实最容易理解,就是沿着从上到下,从左到右的顺序连线即可。

    2.1K20

    前端工程师leetcode算法面试必备-二叉树深度广度遍历1

    接下来,通过具体的题目解析,带大家了解 DFS 和 BFS 搜索思想在二叉树中的应用。二、102. 二叉树的层次遍历给定一个二叉树,返回其按层次遍历的节点值。(即逐层地,从左到右访问所有节点)。...图片2、DFS  采用 DFS 搜索思想,需要注意在递归的过程中记录当前节点的层次信息:图片三、145. 二叉树的后序遍历给定一个二叉树,返回它的 后序 遍历。  ...,再后序遍历右子树,最后访问根;以本道题的后序遍历为例,尝试递归和迭代两种不同的方法:1、递归实现 DFS  从定义中,大家应该能够想象到递归的代码如何书写:图片参考视频:传送门2、迭代实现 DFS  ...把一条垂线从 X = -infinity 移动到 X = +infinity ,每当该垂线与结点接触时,我们按从上到下的顺序报告结点的值( Y 坐标递减)。...如果两个结点位置相同,则首先报告的结点值较小。按 X 坐标顺序返回非空报告的列表。每个报告都有一个结点值列表。  最后,通过本道题目来开启 Medium 难度题型的讲解。

    41720

    前端工程师leetcode算法面试必备-二叉树深度广度遍历

    接下来,通过具体的题目解析,带大家了解 DFS 和 BFS 搜索思想在二叉树中的应用。 二、102. 二叉树的层次遍历 给定一个二叉树,返回其按层次遍历的节点值。(即逐层地,从左到右访问所有节点)。...这里需要利用队列(queue)来保存每一层需要访问的节点,需要特别注意队列的特性是先进先出,而本题要求每一层从左到右遍历,所以需要先将左子树放入队列。...,再后序遍历右子树,最后访问根; 以本道题的后序遍历为例,尝试递归和迭代两种不同的方法: 1、递归实现 DFS   从定义中,大家应该能够想象到递归的代码如何书写: 图片 2、迭代实现 DFS   本道题目采用迭代实现...把一条垂线从 X = -infinity 移动到 X = +infinity ,每当该垂线与结点接触时,我们按从上到下的顺序报告结点的值( Y 坐标递减)。...如果两个结点位置相同,则首先报告的结点值较小。按 X 坐标顺序返回非空报告的列表。每个报告都有一个结点值列表。   最后,通过本道题目来开启 Medium 难度题型的讲解。

    36620

    前端工程师leetcode算法面试之二叉树深度广度遍历

    接下来,通过具体的题目解析,带大家了解 DFS 和 BFS 搜索思想在二叉树中的应用。二、102. 二叉树的层次遍历给定一个二叉树,返回其按层次遍历的节点值。(即逐层地,从左到右访问所有节点)。...图片2、DFS  采用 DFS 搜索思想,需要注意在递归的过程中记录当前节点的层次信息:图片三、145. 二叉树的后序遍历给定一个二叉树,返回它的 后序 遍历。  ...,再后序遍历右子树,最后访问根;以本道题的后序遍历为例,尝试递归和迭代两种不同的方法:1、递归实现 DFS  从定义中,大家应该能够想象到递归的代码如何书写:图片参考视频:传送门2、迭代实现 DFS  ...把一条垂线从 X = -infinity 移动到 X = +infinity ,每当该垂线与结点接触时,我们按从上到下的顺序报告结点的值( Y 坐标递减)。...如果两个结点位置相同,则首先报告的结点值较小。按 X 坐标顺序返回非空报告的列表。每个报告都有一个结点值列表。  最后,通过本道题目来开启 Medium 难度题型的讲解。

    31340

    简单聊聊红黑树(Red Black Tree)

    ,所以在这里想写一篇文章简单和大家聊聊下红黑树 小编看过很多讲红黑树的文章,都不是很容易懂,主要也是因为完整的红黑树很复杂,想通过一篇文章来说清楚实在很难,所以在这篇文章中我想尽量用通俗口语化的语言,再结合...可以参考下图 二叉树的最好/最坏情况: 上图可以看到,二叉树的性能的好坏,依赖数据的插入顺序,最坏情况下二叉树会退化为链表,所有操作的时间复杂度回到的线性级别 O(n),那么怎么解决这个问题呢?...红黑树可以保证 所有操作时间复杂度都是对数级别 O(logN) 和二叉树不同,无论插入顺序如何,红黑树都是接近完美平衡的 无数实验的应用证明,红黑树的操作成本比二叉树降低40%左右 常见树形结构的操作复杂度对比...,下面罗列的三种情况: 插入最大键 插入最小键 插入中间键 我们可以发现,无论插入的数据如何不同,通过旋转,变色操作后最终得到的结果都是相同的,树永远保持平衡,具体可以看下方的示意图: 有了上面的理解,...,进行左旋转,M成为R的左红子节点(这里违反2个规则) X首先插入到S的右边,S违反了不能出现红右子节点的规则,进行左旋转,S成为X的左红子节点 通过以上证明,就可以得出结论,和二叉树不同,无论数据的插入顺序如何

    66610

    一文带你深入理解Mysql索引底层数据结构与算法

    理解索引的特性 索引是帮助Mysql高效获取数据排好序的数据结构 索引是存储在文件里面的 索引的各种存储结构及优缺点 首先看一下,在数据库没有加索引的情况下,SQL中的where语句是如何查找目标记录的...二叉树 二叉树的特点 至少有一个节点(根节点) 每个节点最多有两颗子树,即每个节点的度小于3。 左子树和右子树是有顺序的,次序不能任意颠倒。...如果不手动指定主键,InnoDB会从插入的数据中找出不重复的一列作为主键索引,如果没找到不重复的一列,这时候InnoDB会选择内置的ROWID作为主键,写入顺序和ROWID增长顺序一致;其次,索引的数据类型是整型...定义联合索引(员工级别,员工姓名,员工出生年月),将联合索引按照索引顺序放入节点中,新插入节点时,先按照联合索引中的员工级别比较,如果相同会按照是员工姓名比较,如果员工级别和员工姓名都相同 最后是员工的出生年月比较...可以从图中从上到下,从左到右看,第一个B+树的节点 是通过联合索引的员工级别比较的,第二个节点是 员工级别相同,会按照员工姓名比较,第三个节点是 员工级别和员工姓名都相同,会按照员工出生年月比较。

    70610

    LeetCode-面试题32-3-从上到下打印二叉树

    # LeetCode-面试题32-3-从上到下打印二叉树 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推...] ] 提示: 节点总数 <= 1000 # 解题思路 递推:奇数行从左到右打印,偶数行从右到左打印 用一个队列Queue保存节点,并利用一个双端队列保存行数据,如下: 将root节点放入queue 重复以下...2个步骤,直到queue为空为止: 新建一个双端队列,存储行数据 当queue.size()>0时开始循环: ​ 取出queue中的头结点,添加进rowList中 ​ 判断当前行是奇数行还是偶数行...,由于数组是从0开始存储的,所以原本的奇数变成了偶数,偶数变成了奇 ​ 数,对于0行和2行,应该从左到右输出,所以向尾部插入新数据即可;对于1行,应该从右到左输出,所以 ​ 向头部插入新数据即可倒序...​ 找出头结点左右子节点,依次放入queue中 添加rowList进入result数组中 # Java代码 /** * Definition for a binary tree node

    22820

    【算法题解】 Day22 搜索与回溯

    从上到下打印二叉树 题目 剑指 Offer 32 - I. 从上到下打印二叉树 难度:medium 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。...<= 1000 方法一:BFS 思路 根据题意,这是二叉树的广度优先搜索(BFS)。...从上到下打印二叉树 II 题目 剑指 Offer 32 - II. 从上到下打印二叉树 II 难度:easy 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。...从上到下打印二叉树 III 难度:medium 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。...], [15,7] ] 提示: 节点总数 <= 1000 方法一:BFS 思路 跟之前的题目还是大相庭径的,这题的话,打印顺序交替变化,因此可以考虑双端队列;   解题 Python: class

    17530

    数据结构笔记(二)

    二叉树特定 每个节点最多有两棵子树,所以二叉树中不存在度大于2的节点。 左子树和右子树是有顺序的,次序不能任意颠倒。 即使树种某节点只有一棵子树,也有区分它是左子树还是右子树。...满二叉树 在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。...二叉树的存储结构 二叉树顺序存储结构 二叉树的顺序存储结构就是用一维数组存储二叉树中的结点,并且结点的存储位置,也就是数组的下标要能体现结点之间的逻辑关系,比如双亲与孩子的关系,左右兄弟的关系等。...二叉树的遍历方法 前序遍历 规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。...层序遍历 规则是若树为空,则空操作返回,否则从树的第一层,也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问。

    30230

    前端学习数据结构与算法系列(四):哈希、堆和二叉查找树

    优先队列是一种数据结构,可以自由添加数据,但取出数据时要从最小值开始按顺序取出。在堆的树形结构中,各个顶点被称为“结点(node)”,数据就存储在这些节点中。...堆的特点 如下图所示,每个节点由两个子节点,用线条连接即为堆: 结点内的数字就是存储的数据 堆中的每个结点最多有两个子节点 树的形状取决于数据的个数 节点的排列顺序为从上到下,同一行里则为从左到右 堆的父节点必须小于子结点...例如,将数字5添加到堆中: 结点6有个空位置,将数字5加在结点6中 数字5结点的父结点大于本身,故调换位置 交换完毕后数字5结点的父节点小于本身,所以不再交换,往堆中插入数据5的操作结束 堆的数据获取...与示例1步骤一样,与二叉树顶端的结点进行比较,由于4<15,数据左移 将插入的结点与15的子结点9进行比价,4<9,数据左移 将插入的结点与9的子结点3进行比较,4>3,数据右移 将插入的结点与3的子结点...,数据左移 左移后,将要查询的结点12与结点15的子结点4进行比较,5<12,数据右移 右移后,找到结点12,查询结束 写在最后 * 文中使用的图片源自《我的第一本算法书》,如若侵权,请联系图雀社区公众号小编

    55910

    🌳深度学习二叉树,掌握数据结构核心力量!

    通过 preOrder 方法,我们可以按前序遍历的顺序访问二叉树中的每个节点,并依次输出数据。...insert 方法保证了二叉搜索树的特性。 preOrder 方法按前序顺序遍历二叉树,输出节点数据。 这段代码提供了二叉树的基本操作,可以作为更复杂数据结构和算法的基础。...案例分析 让我们尝试插入几个数据,看看二叉树是如何一步步构建的。假设我们插入的数据顺序为:7、4、9、1、5。...类代码方法介绍及演示 下面我们介绍二叉树中的一些重要方法,包括插入、遍历和查找。 插入方法 插入方法用于将新的数据节点插入到树中。插入数据的规则是:小于根节点的值放在左子树,大于的放在右子树。...遍历方法 二叉树有三种主要的遍历方式:前序、中序和后序遍历。不同遍历方式会得到不同的节点访问顺序。 ✅ 测试用例 下面我们编写一个简单的 main 方法来测试插入和遍历的功能。

    8932

    【算法题解】 Day6 BFS | DFS

    n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。...二叉树的层序遍历 题目 102. 二叉树的层序遍历 难度:medium 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。...在上述过程中的第 i 次迭代就得到了二叉树的第 i 层的 si 个元素。 为什么这么做是对的呢?... 时性质成立,即第 k 轮中出队 sk 的元素是第 k 层的所有元素,并且顺序从左到右。...我们开下脑洞,把这个二叉树的样子调整一下,摆成一个田字形的样子。田字形的每一层就对应一个 list。 按照深度优先的处理顺序,会先访问节点 1,再访问节点 2,接着是节点 3。

    22130

    二叉树层序遍历

    在层序遍历中,我们按照从上到下、从左到右的顺序依次访问每个节点。...实现二叉树层序遍历 下面是使用Java实现二叉树层序遍历的示例代码: import java.util.LinkedList; import java.util.Queue; // 二叉树节点类 class...树的层级遍历: 在树形数据结构中,层序遍历可以按层级打印树的结构,便于查看树的层次结构和节点分布情况。...二叉树层序遍历算法优化 在实际应用中,我们可以通过优化数据结构和遍历过程来提高层序遍历的效率,具体优化方法包括: 使用双端队列:双端队列(Deque)可以在队列两端进行插入和删除操作,可以更快地实现节点的入队和出队操作...示例代码:树的结构分析 下面是一个示例代码,演示了如何使用二叉树层序遍历来分析树的结构: import java.util.ArrayDeque; import java.util.Deque; public

    8310

    【愚公系列】软考中级-软件设计师 017-数据结构(树和二叉树概念)

    树的结构使得在树中进行快速的搜索、插入、删除操作成为可能。 树的节点有一个或多个子节点,每个子节点又可以有自己的子节点,形成了一个递归的结构。...1.3 完全二叉树和满二叉树 完全二叉树是一种特殊的二叉树,除了最后一层外,每一层的节点都是从左到右连续排列的,最后一层的节点从左到右填充。...1.4 二叉树的存储结构 二叉树的存储结构有三种常见的形式: 1、顺序存储:就是用一组连续的存储单元存储二叉树中的节点,按照从上到下,从左到右的顺序依次存储每个节点。...每个二叉链表节点存储一个二叉树节点,头指针则指向根节点。 1.5 二叉树的遍历 二叉树的遍历是指按照某种顺序访问二叉树的所有节点。常用的二叉树遍历方式有三种:前序遍历、中序遍历和后序遍历。...此外,还有两种特殊的遍历方式:层序遍历和逆序遍历。 层序遍历(level order traversal):按层级从上到下、从左到右的顺序遍历二叉树。

    29421

    算法——二叉树

    特点: 每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。注意不是只有两棵子树,而是最多有。没有子树或者有一棵子树都是可以的。 左子树和右子树是有顺序的,次序不能任意颠倒。...满二叉树:在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子都在同一层,这样的二叉树称为满二叉树 完全二叉树:对一棵具有n个结点的二叉树按层序编号,如果编号为i (1的结点与同样深度的满二叉树中编号为...二叉树遍历方法: 前序遍历:规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。如图所示,遍历的顺序为:ABDGHCEIF。...后序遍历:规则是若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访向左右子树,最后是访问根结点。如图所示,遍历的顺序为:GHDBIEFCA。...层序遍历:规则是若树为空,则空操作返回,否则从树的第一层, 也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问。如图所示,遍历的顺序为:ABCDEFGHI。

    29330

    数据结构——二叉树

    特点: 每个结点最多有两棵子树,所以二叉树中不存在度大于2的结点。注意不是只有两棵子树,而是最多有。没有子树或者有一棵子树都是可以的。 左子树和右子树是有顺序的,次序不能任意颠倒。...满二叉树:在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子都在同一层,这样的二叉树称为满二叉树 完全二叉树:对一棵具有n个结点的二叉树按层序编号,如果编号为i (1的结点与同样深度的满二叉树中编号为...二叉树遍历方法: 前序遍历:规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。如图所示,遍历的顺序为:ABDGHCEIF。 ?...后序遍历:规则是若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访向左右子树,最后是访问根结点。如图所示,遍历的顺序为:GHDBIEFCA。 ?...层序遍历:规则是若树为空,则空操作返回,否则从树的第一层, 也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问。如图所示,遍历的顺序为:ABCDEFGHI。 ?

    39620

    7-1 树结构 和 二叉树

    兄弟:具有同一父节点的 一群节点; ⑧节点的层次: 根节点为1,其它节点的层次等于它的父节点+1; ⑨树的深度:节点的最大层次值; ⑩有序树 和 无序树: 如果某棵树的节点都是按从左到右的顺序排列,交换两个节点的位置会产生一个不同的树...因此,如果我们想顺序存储普通二叉树,需要提前将普通二叉树转化为完全二叉树。方法很简单,人为添加一些并不存在的空节点(其元素值为“空”),使之成为一颗完全二叉树的形式。...完全二叉树的顺序存储,仅需从根节点开始,按照层次依次将树中节点存储到数组即可。 从顺序表中还原完全二叉树也很简单。...D L R的顺序,且下层的子树也是按这个D L R 的顺序 此二叉树 先序遍历就是 a-b-d-e-c-f-g ?...(BT->R);//访问该结点的右孩子 } return; } ②中序遍历 中序的中,是根节点居中, L D R ,且下层的子树也是按这个L D R的顺序 ?

    61030
    领券