21 lines
763 B
Python
21 lines
763 B
Python
# Definition for a binary tree node.
|
|
# class TreeNode:
|
|
# def __init__(self, val=0, left=None, right=None):
|
|
# self.val = val
|
|
# self.left = left
|
|
# self.right = right
|
|
class Solution:
|
|
def sortedArrayToBST(self, nums: List[int]) -> Optional[TreeNode]:
|
|
print(nums)
|
|
if len(nums) == 0: return None
|
|
mid = len(nums) // 2
|
|
# if mid == 0 : return TreeNode(nums[mid], None, None)
|
|
node = TreeNode(nums[mid], None, None)
|
|
if mid != 0:
|
|
left_nums = nums[:mid]
|
|
node.left = self.sortedArrayToBST(left_nums)
|
|
if mid + 1 < len(nums):
|
|
right_nums = nums[mid + 1: ]
|
|
node.right = self.sortedArrayToBST(right_nums)
|
|
return node
|