Convert Sorted Array to Binary Search Tree

Question

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

Tags

  • Binary Search Tree

Thought

Use the recursion to build the tree.

Code

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def sortedArrayToBST(self, nums):
        """
        Use divide and conquer
        :type nums: List[int]
        :rtype: TreeNode
        """
        if nums == []:
            return None
        mid = len(nums) / 2
        node = TreeNode(nums[mid])
        node.left = self.sortedArrayToBST(nums[:mid])
        node.right = self.sortedArrayToBST(nums[mid+1:])
        return node

results matching ""

    No results matching ""