王國慶 发表于 2025-11-5 22:38:40

【leetcode100】将有序数组转换为二叉搜刮树

1、标题形貌

给你一个整数数组 nums ,此中元素已经按 升序 分列,请你将其转换为一棵 
均衡二叉搜刮树。
示例 1:

https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9pbWdfY29udmVydC83NTdkYWU4NWRkYmZkYzUxMGQzNTY1YzBiODgzYTE3OC5qcGVn

<strong>输入:</strong>nums = [-10,-3,0,5,9]
<strong>输出:</strong>
<strong>解释:</strong> 也将被视为正确答案:2、初始思绪

2.1 思绪

均衡二叉树 是指该树全部节点的左右子树的高度相差不高出1。因此,可利用递归的方法依次找到各根节点的左右子树。

# Definition for a binary tree node.
# class TreeNode:
#   def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def sortedArrayToBST(self, nums: List) -> Optional:
      if not nums:
            return None
      m = len(nums) // 2
      return TreeNode(nums,self.sortedArrayToBST(nums[:m]),self.sortedArrayToBST(nums))
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【leetcode100】将有序数组转换为二叉搜刮树