给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵高度平衡二叉搜索树。高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过1」的二叉树。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
const createNode = (nums:number[],start:number,end:number) => { if(start>end){ return null; } const mid = Math.floor((start + end)*0.5); const root = new TreeNode(nums[mid]); root.left = createNode(nums,start,mid - 1); root.right = createNode(nums,mid+1,end); return root; }
function sortedArrayToBST(nums: number[]): TreeNode | null { const n: number = nums.length; if (n === 0) { return null; } return createNode(nums,0,n-1); };
|