108. Convert Sorted Array to Binary Search Tree(js)

108. Convert Sorted Array to Binary Search Tree

Given an array where elements are sorted in ascending order, convert it to a height balanced BST.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

Example:

Given the sorted array: [-10,-3,0,5,9],

One possible answer is: [0,-3,9,-10,null,5], which represents the following height balanced BST:

      0
     / \
   -3   9
   /   /
 -10  5
题意:将排好序的数组构建成叶子深度相等的二叉树
代码如下:
/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {number[]} nums
 * @return {TreeNode}
 */
var sortedArrayToBST = function(nums) {
    return helper(nums,0,nums.length-1);
};
var helper=function(root,left,right){
    if(left>right) return null;
    let mid=parseInt((left+right)/2);
    let cur=new TreeNode(root[mid]);
    cur.left=helper(root,left,mid-1);
    cur.right=helper(root,mid+1,right);
    return cur;
}

 

posted @ 2019-04-15 21:10  mingL  阅读(134)  评论(0编辑  收藏  举报