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

解题思路:

二叉搜索树一般使用中序遍历

java 复制代码
class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        return helper(nums,0,nums.length-1);
    }
    public TreeNode helper(int[] nums,int left,int right){
        if(left>right) return null;

        //确定根节点
        //总是选择中间位置左边的数字作为根节点
        //也可以用 int mid = (left + right + 1) / 2; 总是选择中间位置右边的数字作为根节点
        int mid=(left+right)/2;
        TreeNode root=new TreeNode(nums[mid]);

        root.left=helper(nums,left,mid-1);
        root.right=helper(nums,mid+1,right);
        return root;
    }
}
相关推荐
代码探秘者1 分钟前
【算法】吃透18种Java 算法快速读写模板
数据结构·数据库·python·算法·spring
java1234_小锋1 分钟前
Java高频面试题:谈谈你对SpringBoot的理解?
java·开发语言·spring boot
2301_816651221 分钟前
C++模块化设计原则
开发语言·c++·算法
空空潍2 分钟前
Spring AI 实战系列(三):多模型共存+双版本流式输出
java·人工智能·spring
gaozhiyong08132 分钟前
提示词的解剖学:Gemini 3.1 Pro 提示工程高级策略与国内实战
人工智能·算法·机器学习
彭于晏Yan13 分钟前
SpringBoot整合ECC实现文件签名与验签
java·spring boot·后端
pupudawang16 分钟前
Spring EL 表达式的简单介绍和使用
java·后端·spring
jiankeljx22 分钟前
Spring Initializr创建springboot项目,提示java 错误 无效的源发行版:16
java·spring boot·spring
competes22 分钟前
深圳程序员职业生涯
java·大数据·开发语言·人工智能·java-ee
小范自学编程22 分钟前
算法训练营Day44 - 动态规划part12
算法·动态规划