力扣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;
    }
}
相关推荐
liliangcsdn5 小时前
多空价差收益序列汇总统计的分析和代码示例
人工智能·算法·机器学习
啥都想学点的研究生6 小时前
一篇文章讲清楚:Adaboost算法与GBDT
人工智能·算法
旖旎夜光6 小时前
LeetCode 525:连续数组(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
X1A0RAN6 小时前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins
Rain的Java大神之路6 小时前
高并发下的热点账户余额扣减:Redis+Lua脚本实现无锁记账
java·spring boot·redis·后端·spring cloud·缓存·lua
随遇而安zx6 小时前
【地基篇】---JVM 类加载 源码解析(基于 Java 8)
java·jvm·python
zander2586 小时前
LeetCode 32. 最长有效括号
算法
liudashuang20176 小时前
【无标题】
java
这是程序猿6 小时前
高校宿舍信息管理系统小程序
java·小程序·毕业设计
小宇宙清歡渡6 小时前
Java Stream 流全面实战指南(Spring Boot 3 + JDK 17)
java·springboot·stream流