Convert Sorted Array to Binary Search Tree

Problem Summary

Main Concepts Used

Time & Space Complexity

Code

class Solution:
    def sortedArrayToBST(self, nums: List[int]) -> Optional[TreeNode]:
        def helper(start, end):
            if end < start:
                return None
            middle = (start + end) // 2
            root = TreeNode(nums[middle])
            root.left = helper(start, middle - 1)
            root.right = helper(middle + 1, end)
            return root

        return helper(0, len(nums) - 1)

Common Mistakes / Things I Got Stuck On