力扣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;
    }
}
相关推荐
gis分享者2 分钟前
什么是 Java 中的原子性、可见性和有序性?
java·面试·热门·原子性·可见性·有序性·2026
炽烈小老头3 分钟前
【每天学习一点算法 2026/01/20】汉明距离
学习·算法
夏鹏今天学习了吗3 分钟前
【LeetCode热题100(86/100)】最长有效括号
算法·leetcode·职场和发展
踩坑记录5 分钟前
leetcode hot100 73.矩阵置零 medium
leetcode
小龙报5 分钟前
【初阶数据结构】解锁顺序表潜能:一站式实现高效通讯录系统
c语言·数据结构·c++·程序人生·算法·链表·visual studio
TangKenny6 分钟前
jar 命令详解
java·pycharm·jar
Solar20256 分钟前
机械制造企业数据采集系统选型指南:从技术挑战到架构实践
java·大数据·服务器·架构·云计算
牧小七7 分钟前
Java反射学习指南
java
Mr1ght10 分钟前
高并发场景下 JSQLParser 性能瓶颈及替代方案实践
java·数据库·sql
有一个好名字10 分钟前
力扣-删除二叉搜索树的节点
算法·leetcode·职场和发展