美文网首页快乐写代码
T1008、先序遍历构造二叉树

T1008、先序遍历构造二叉树

作者: 上行彩虹人 | 来源:发表于2020-08-30 16:29 被阅读0次

返回与给定先序遍历 preorder 相匹配的二叉搜索树(binary search tree)的根结点。
(回想一下,二叉搜索树是二叉树的一种,其每个节点都满足以下规则,对于 node.left 的任何后代,值总 < node.val,而 node.right 的任何后代,值总 > node.val。此外,先序遍历首先显示节点的值,然后遍历 node.left,接着遍历 node.right。)
示例:
输入:[8,5,1,7,10,12]
输出:[8,5,10,1,7,null,12]


image.png

提示:

1 <= preorder.length <= 100
先序 preorder 中的值是不同的。

看到二叉树的题第一反应递归求解

   public TreeNode bstFromPreorder(int[] preorder) {
        TreeNode root = null;
        for(int i = 0; i < preorder.length; i++){
            root = bulidtree(root,preorder[i]);
        }
        return root;
    }

    public TreeNode bulidtree(TreeNode root, int num){
        if(root == null)
            return new TreeNode(num);
        if(root.val > num)
            root.left = bulidtree(root.left, num);
        else
            root.right = bulidtree(root.right, num);
        return root;
    }

相关文章

  • 二叉树BinaryTree

    Java 实现二叉树的构造以及遍历过程 二叉树遍历(先序、中序、后序)

  • 数据结构之二叉树

    数据结构之二叉树 递归构造二叉树 二叉树节点: 递归构造: 图示: 递归遍历 递归实现先序遍历 图示: 递归实现中...

  • 二叉树的前中后序遍历 Java递归与非递归实现

    1. 二叉树的定义 构造二叉树 2. 二叉树的递归遍历 2.1 二叉树递归先序遍历 2.2 二叉树递归中序遍历 2...

  • T1008、先序遍历构造二叉树

    返回与给定先序遍历 preorder 相匹配的二叉搜索树(binary search tree)的根结点。(回想一...

  • 二叉树 基础操作

    二叉树的使用 二叉树结构 先序创建二叉树 DFS 先序遍历二叉树 中序遍历二叉树 后序遍历二叉树 BFS 层次遍历...

  • 三个树构造算法

    已知先序和后序构造正则二叉树 已知先序和中序构造二叉树 已知中序和后序构造二叉树

  • 前端二叉树

    (一)构造二叉树 (二)中序遍历 (三)前序遍历 前序遍历可以复制二叉树,效率比重新构造二叉树高 (四)后序遍历 ...

  • LeetCode-105-从前序与中序遍历序列构造二叉树

    LeetCode-105-从前序与中序遍历序列构造二叉树 105. 从前序与中序遍历序列构造二叉树[https:/...

  • 重建二叉树与寻找下一个节点

    一、重建二叉树 题目:输入某二叉树的先序遍历和中序遍历的结果,请重建二叉树。假如输入的先序遍历和中序遍历的结果都不...

  • 二叉树遍历方式

    实现二叉树结点 构造二叉树 前序遍历 给定一个节点,先遍历该节点,然后遍历左子树,然后右子树 中序遍历 给定一个节...

网友评论

    本文标题:T1008、先序遍历构造二叉树

    本文链接:https://www.haomeiwen.com/subject/fysesktx.html