class Solution(object):
def sortedListToBST(self, head):
"""
:type head: ListNode
:rtype: TreeNode
"""
nums=[]
while head:
nums.append(head.val)
head=head.next
return self.sortedArrayToBST(nums)
def sortedArrayToBST(self,nums):
if nums==[]:
return None
mid=len(nums)>>1
root=TreeNode(nums[mid])
root.left=self.sortedArrayToBST(nums[:mid])
root.right=self.sortedArrayToBST(nums[mid+1:])
return root
python leetcode 109. Convert Sorted List to Binary Search Tree
最新推荐文章于 2022-06-10 00:53:07 发布
本文介绍了一种将有序链表转换为平衡二叉搜索树的方法。通过遍历链表,收集所有节点值到数组中,再利用数组构建平衡二叉搜索树。核心算法包括sortedListToBST和sortedArrayToBST两个函数,前者用于链表到数组的转换,后者用于数组到平衡二叉树的构建。
摘要由CSDN通过智能技术生成