当前位置: 首页 > article >正文

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

1、题目描述

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 

平衡二叉搜索树。

示例 1:

输入:nums = [-10,-3,0,5,9]
输出:[0,-3,9,-10,null,5]
解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:

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[int]) -> Optional[TreeNode]:
        if not nums:
            return None
        m = len(nums) // 2
        return TreeNode(nums[m],self.sortedArrayToBST(nums[:m]),self.sortedArrayToBST(nums[m+1:]))

http://www.kler.cn/a/513838.html

相关文章:

  • Elasticsearch(ES)基础查询语法的使用
  • 小哆啦解题记:如何计算除自身以外数组的乘积
  • 【深度学习项目】语义分割-FCN网络(原理、网络架构、基于Pytorch实现FCN网络)
  • Golang的文件处理优化策略
  • Java - WebSocket
  • 微服务与docker
  • Scheme语言的物联网
  • 基于python的博客系统设计与实现
  • 【FISCO BCOS】二十四、通过Java SDK对FISCO BCOS进行压力测试
  • npm run dev 时直接打开Chrome浏览器
  • 【数据分享】1929-2024年全球站点的逐年最低气温数据(Shp\Excel\免费获取)
  • 工业相机 SDK 二次开发-Halcon 插件
  • 深入理解 Java 并发编程中的锁机制
  • C# HTTP/HTTPS 请求测试小工具
  • MyBatis 注解开发详解
  • 大数据和人工智能融合展望
  • 深入探索C#中Newtonsoft.Json库的高级进阶之路
  • MDX语言的字符串处理
  • Docker集成onlyoffice实现预览功能
  • 商汤善惠获金沙江创投领投A轮融资,聚焦零售AI业务
  • ubuntu电脑调用摄像头拍摄照片
  • CentOS 7乱码问题如何解决?
  • Excel的配置-开放的XML文件
  • 【数据结构】二分查找
  • python学opencv|读取图像(四十一 )使用cv2.add()函数实现各个像素点BGR叠加
  • 解决wordpress媒体文件无法被搜索的问题