力扣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;
    }
}
相关推荐
行走的蜗牛13 小时前
【springai】 Model层设计与实现
java·ai编程
认真的薛薛13 小时前
Linux基础:GitOps发布流程
java·linux·运维
鱼鳞_13 小时前
苍穹外卖-Day05(Redis)
java·redis
雨落在了我的手上13 小时前
初识java(九):类和对象(⼀)
java·开发语言
是码龙不是码农13 小时前
数据库主键选型:为什么别用自增 ID?
java·数据库
玖釉-13 小时前
旋转图像:从矩阵转置、镜像到坐标变换的系统理解
c++·windows·算法·图形渲染
北风toto13 小时前
Jenkins新手入门安装插件全报错
java·运维·jenkins
罗超驿13 小时前
20.MySQL事务隔离级别示例详解(脏读、不可重复读、幻读)
java·数据库·mysql·面试
Dicky-_-zhang13 小时前
KubeEdge边缘部署实践
java·jvm