Convert Sorted Array to Binary Search Tree

用分治法就能很好解决,注意只有一个元素和没有元素的情况即可

class Solution(object):
    def sortedArrayToBST(self, nums):
        """
        :type nums: List[int]
        :rtype: TreeNode
        """
        return self.helper(nums, 0, len(nums) - 1)

    def helper(self, nums, start, end):
        if start > end:
            return None
        if start == end:
            return TreeNode(nums[start])

        mid = start + (end - start) / 2
        head = TreeNode(nums[mid])
        head.left = self.helper(nums, start, mid - 1)
        head.right = self.helper(nums, mid + 1, end)
        return head

results matching ""

    No results matching ""