力扣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;
    }
}
相关推荐
小马爱打代码14 小时前
Spring源码 第十二篇:Spring 全套核心原理 - 完结终章
java·后端·spring
洛水水14 小时前
【力扣100题】63.最小覆盖子串
算法·leetcode
AllData公司负责人14 小时前
亲测丝滑,体验跃迁|AllData通过集成开源项目RustFS,多模态数据存储新范式
java·大数据·数据库·算法·数据分析·rustfs
磊 子14 小时前
AVL树的讲解
数据结构·算法
西安邮电大学14 小时前
2026华为OD机考真题附答案-准备生日礼物
java·后端
超梦dasgg14 小时前
Java 生产环境 RocketMQ 架构与部署指南
java·rocketmq·java-rocketmq
Trouvaille ~14 小时前
【Redis篇】Hash 哈希:字段级操作与对象存储的最佳实践
数据库·redis·后端·算法·缓存·哈希算法·键值对
cheems952714 小时前
JWT令牌是如何实现登录认证的
java
悠仁さん14 小时前
数据结构 树 二叉树 堆 (链式二叉树模拟实现篇)
数据结构·算法