给定有序数组: [-10,-3,0,5,9],
一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:
0 / -3 9 / / -10 5
var sortedArrayToBST = function (nums) {
if (nums.length === 0) {
return null
}
return sortedToBST(nums, 0, nums.length)
};
const sortedToBST = function (nums, start, end) {
if (start === end) {
return null
}
const mid = (start + end) >>> 1;
let root = new TreeNode(nums[mid])
root.left = sortedToBST(nums, start, mid);
root.right = sortedToBST(nums, mid + 1, end);
return root
}
Runtime: 96 ms, faster than 7.29% of JavaScript online submissions forConvert Sorted Array to Binary Search Tree.
Memory Usage: 37.7 MB, less than 52.11% of JavaScript online submissions for Convert Sorted Array to Binary Search Tree.
Runtime: 84 ms, faster than 16.19% of JavaScript online submissions for Convert Sorted Array to Binary Search Tree.
Memory Usage: 37.7 MB, less than 49.28% of JavaScript online submissions for Convert Sorted Array to Binary Search Tree.