108. converting into an ordered array of binary search trees

# 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:
        
        def to_bst(nums, start, end):
            if start > end:
                return None
            
            mid = (start + end) // 2
            node = TreeNode(nums[mid])
            node.left = to_bst(nums, start, mid-1)
            node.right = to_bst(nums, mid+1, end)
            return node
        
        return to_bst(nums, 0, len(nums) - 1)

 

Guess you like

Origin www.cnblogs.com/WJZheng/p/11425927.html