108. 将有序数组转换为二叉搜索树 --力扣 --JAVA

题目

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。

高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。

解题思路

  1. 可以采用二分法,每次选数组中间值为根节点创建树,这样可以确保左右子树的高度差的绝对值不超过1;
  2. 通过递归来逐级生成后续节点;
  3. 可通过变量设置左右边界,方便后续节点区间的取值;

代码展示

java 复制代码
class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        TreeNode data = toBST(nums, 0, nums.length - 1);
        return data;
    }
    public TreeNode toBST(int[] nums, int left, int right){
        if(left > right){
            return null;
        }
        int middle = (left + right) / 2;
        return new TreeNode(nums[middle], toBST(nums, left, middle - 1), toBST(nums, middle + 1, right));
    }
}
相关推荐
tankeven6 分钟前
HJ181 相差不超过k的最多数
数据结构·c++·算法
WYiQIU15 分钟前
宇树科技Web前端岗(AI方向),这不算泄题吧......
前端·vue.js·人工智能·笔记·科技·面试·职场和发展
XWalnut24 分钟前
LeetCode刷题 day13
数据结构·算法·leetcode
炽烈小老头40 分钟前
【每天学习一点算法 2026/04/17】多数元素
数据结构·学习·算法
HY小宝F1 小时前
破局研发管理“双面角色”:从小团队救火走向系统化治理
职场和发展
云泽8081 小时前
第十五届蓝桥杯大赛软件赛省赛C/C++大学B组
c语言·c++·算法·蓝桥杯
大模型最新论文速读1 小时前
VQKV:KV Cache 压缩 82% 性能几乎不降
人工智能·深度学习·算法·机器学习·自然语言处理
yongui478341 小时前
基于MSP430和Zigbee技术的煤矿综合监控系统设计与实现
算法
Ww.xh1 小时前
ESP8266连接AI大模型完整指南
人工智能·算法·语言模型
俺不要写代码2 小时前
lambda表达式理解
c++·算法