zentan66 / daily-coding

日常手写算法,编程题
0 stars 0 forks source link

【⭐️】LeetCode-将有序数组转换为二叉搜索树 #46

Open zentan66 opened 3 years ago

zentan66 commented 3 years ago

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

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

zentan66 commented 3 years ago

编码

/**
 * @param {number[]} nums
 * @return {TreeNode}
 */
var sortedArrayToBST = function(digits) {
  function helper(nums, left, right) {
    if (left > right) return null;
    const mid = Math.floor((left + right) / 2)
    const root = new TreeNode(nums[mid])
    root.left = helper(nums, left, mid - 1)
    root.right = helper(nums, mid + 1, right)
    return root
  }
  return helper(digits, 0, digits.length - 1)
};