算法要求
将一个按照升序排列的有序数组转换为一颗高度平衡的二叉搜索树
代码实现
定义树节点
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
京公网安备 11010502036488号