0
点赞
收藏
分享

微信扫一扫

LeetCode题解(面试04.02):生成高度最小的二叉搜索树(Python)


题目:​​原题链接​​(简单)

标签:树、二叉树、二叉搜索树

解法

时间复杂度

空间复杂度

执行用时

Ans 1 (Python)

O ( N )

O ( N )

48ms (96.68%)

Ans 2 (Python)

Ans 3 (Python)

解法一:

class Solution:
def sortedArrayToBST(self, nums: List[int], left=None, right=None) -> TreeNode:
if left is None:
left = 0
if right is None:
right = len(nums) - 1

# 处理只有一个节点的情况
if left > right:
return None

elif left == right:
return TreeNode(nums[left])

# 处理有更多节点的情况
else:
mid = (left + right) // 2
head = TreeNode(nums[mid])
head.left = self.sortedArrayToBST(nums, left=left, right=mid - 1)
head.right = self.sortedArrayToBST(nums, left=mid + 1, right=right)
return head



举报

相关推荐

面试题 04.02. 最小高度树

0 条评论