#根据后序数组重建搜索二叉树
def postArrayToBST(arr):
def arrayToBST(arr, start, end):
if start > end:
return None
root = TreeNode(arr[end])
leftEnd = -1
rightStart = end
for i in range(end):
if arr[i] < arr[end]:
leftEnd = i
for i in range(end-1, -1, -1):
if arr[i] > arr[end]:
rightStart = i
root.left = arrayToBST(arr, start, leftEnd)
root.right = arrayToBST(arr, rightStart, end-1)
return root
if arr == None:
return None
return arrayToBST(arr, 0, len(arr)-1)
二叉树问题---根据后序数组重建搜索二叉树
最新推荐文章于 2024-07-22 08:34:33 发布