LeetCode 108 – Python 3 (Week 05 – 12)

Solution 1

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

class Solution:
    def sortedArrayToBST(self, nums: List[int]) -> TreeNode:
        if not nums: return None
        
        mid = len(nums) // 2
        #mid = (len(nums)+1) // 2 not right
        
        root = TreeNode(nums[mid])
        root.left = self.sortedArrayToBST(nums[:mid])
        root.right = self.sortedArrayToBST(nums[mid+1:])
        
        return root
        

Time complexity is O(n). Space complexity is O(n).

Leave a comment

Design a site like this with WordPress.com
Get started