LeetCode 热题 100 JavaScript--108. 将有序数组转换为二叉搜索树

这篇具有很好参考价值的文章主要介绍了LeetCode 热题 100 JavaScript--108. 将有序数组转换为二叉搜索树。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。

高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。

LeetCode 热题 100 JavaScript--108. 将有序数组转换为二叉搜索树,力扣热题100,leetcode,javascript,算法

LeetCode 热题 100 JavaScript--108. 将有序数组转换为二叉搜索树,力扣热题100,leetcode,javascript,算法

提示:

1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 按 严格递增 顺序排列文章来源地址https://www.toymoban.com/news/detail-624033.html

 var sortedArrayToBST = function(nums) {
     if(nums.length ==0 ){
         return null
     }


     let mid = Math.floor(nums.length/2)
     let node = new TreeNode(nums[mid])
     let left = nums.slice(0,mid)
     let right = nums.slice(mid+1,nums.length)
     node.left = sortedArrayToBST(left)
     node.right = sortedArrayToBST(right)
    return node
 };


var sortedArrayToBST = function(nums) {
    if(nums.length ==0 ){
        return null
    }
    return order(nums,0,nums.length-1)
    
};
var order = function (nums,left,right){
    if (left > right) {
        return null;
    }
    let mid = Math.floor((left+right)/2)
    let node = new TreeNode(nums[mid]);
    node.left = order(nums,left,mid-1)
    node.right = order(nums,mid+1,right)
    return node
}

到了这里,关于LeetCode 热题 100 JavaScript--108. 将有序数组转换为二叉搜索树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 力扣日记1.14-【二叉树篇】108. 将有序数组转换为二叉搜索树

    日期:2023.1.14 参考:代码随想录、力扣 题目描述 难度:简单 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1: 输入:

    2024年02月01日
    浏览(28)
  • 力扣 108 将有序数组转化为二叉搜索树

    目录 题目描述: 代码部分: (1)第一种方法  (2)第二种方法 题目解析: (1)复杂度与思想 (2)进阶分析: 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高

    2024年02月08日
    浏览(28)
  • 第23天-代码随想录刷题训练-第六章 ● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树

    - LeetCode 链接 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。 修剪树不应该改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。 可以证明,存在唯一的答案

    2024年02月05日
    浏览(32)
  • 将有序数组转换为二叉树

    md这个破CSDN模板怎么没了,编辑器也死难用,气死 给你一个整数数组  nums  ,其中元素已经按  升序  排列,请你将其转换为一棵  高度平衡  二叉搜索树。 高度平衡  二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1: 示例 2:

    2024年02月05日
    浏览(25)
  • HOT42-将有序数组转换为二叉搜索树

          leetcode原题链接 :将有序数组转换为二叉搜索树        上一篇 :HOT41-二叉树的层序遍历       下一篇 :HOT43-验证二叉搜索树         给你一个整数数组  nums  ,其中元素已经按  升序  排列,请你将其转换为一棵  高度平衡  二叉搜索树。 高度平衡  二叉树是一

    2024年02月12日
    浏览(29)
  • LeetCode 热题 100(五):54. 螺旋矩阵、234. 回文链表、21. 合并两个有序链表

    54. 螺旋矩阵 https://leetcode.cn/problems/spiral-matrix/ 题目要求:  思路:一定要 先找好边界 。如下图 ,上边界是1234,右边界是8、12,下边界是9、10、11,左边界是5,所以可以确定四个边界所包含的值。然后再 循环一层一层往里进入 ,比如添加完上边界1234后,上边界就需要+1,

    2024年02月12日
    浏览(38)
  • 算法刷题Day 23 修剪二叉搜索树+将有序数组转换为二叉搜索树+把二叉搜索树转换为累加树

    递归 好神奇,完全凭感觉写,感觉应该过不了,结果就过了 具体是什么原理可以参考代码随想录的讲解 递归 迭代 使用三个队列来处理(感觉用三个栈也可以) 其实就是以右-中-左的顺序来处理二叉树 每次将当前节点加上上一次访问节点的新值 能想到保存前一次访问节点的

    2024年02月15日
    浏览(32)
  • LeetCode 热题 100 JavaScript--75. 颜色分类

    给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库内置的 sort 函数的情况下解决这个问题。 示例 1: 输入:

    2024年02月12日
    浏览(23)
  • LeetCode 热题 100 JavaScript -- 74. 搜索二维矩阵

    给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非递减顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。

    2024年02月13日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包