Leetcode 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.

数组中间值置为root,然后对于两边的两块数组再调用该函数。

arrayObject.slice(start,end)
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。(第二个参数不写即返回第一个参数下标处到数组末端的所有元素)
使用arguments.callee对匿名函数进行递归调用
var sortedArrayToBST = function(nums) {

    if (nums.length === 0) return null

    var m = parseInt(nums.length/2)

    var root = new TreeNode(nums[m])

    root.left = arguments.callee(nums.slice(0,m))

    root.right = arguments.callee(nums.slice(m+1))

    return root

}

 

你可能感兴趣的:(Binary search)