算法要求
将一个按照升序排列的有序数组转换为一颗高度平衡的二叉搜索树

代码实现

定义树节点
class TreeNode:
    def __init__(self,x):
        self.val = x
        self.left = None
        self.right = None

递归实现
class Solution:
    def sortedArrayToBST(self,nums):
        if not nums:
            return None
        mid = len(nums)//2
        root = TreeNode(nums[mid])
        root.left = self.sortedArrayToBST(nums[:mid])
        root.right = self.sortedArrayToBST(nums[mid+1:])
        return root