力扣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;
    }
}
相关推荐
zhangjw349 小时前
第11篇:Java Map集合详解,HashMap底层原理、哈希冲突、JDK1.8优化、遍历方式彻底吃透
java·开发语言·哈希算法
还得是你大哥9 小时前
Java互联网医院管理系统源码SpringBoot
java·spring boot·vue
阿维的博客日记10 小时前
怎么用ThreadLocal解决用户的登录上下文
java·juc
gaosushexiangji10 小时前
DIC系统推荐:基于千眼狼三维数字图像相关的无人机旋翼疲劳试验全场应变与位移测量
人工智能·算法
Dicky-_-zhang10 小时前
容器编排实战:Docker与Kubernetes对比选型与落地实践
java·jvm
benpaodeDD10 小时前
视频10,11,12,13——java程序的加载与执行,安装jdk
java·开发语言
数字化顾问11 小时前
(122页PPT)数字化架构的演进和治理(附下载方式)
java·运维·架构
XiYang-DING11 小时前
【Java SE】JVM
java·开发语言·jvm
小陶来咯11 小时前
小智接入懒人说书MCP
java·开发语言
Dicky-_-zhang11 小时前
日志管理实战:ELK与Loki对比选型与落地实践
java·jvm