力扣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;
    }
}
相关推荐
一直都在57217 小时前
HashMap的扩容和迁移
算法·哈希算法
!停17 小时前
C++入门基础
java·开发语言·c++
赵文宇(温玉)17 小时前
OpenClaw3.13已经发布,该如何快速升级
java·开发语言
Java爱好狂.17 小时前
IT界有哪些优秀的高并发解决方案?
java·高并发·多线程·java面试·java面试题·后端开发·java八股文
代码雕刻家17 小时前
3.3.Maven-idea集成-配置及创建Maven项目
java·maven·intellij-idea
爆更小哇17 小时前
JMeter配置和使用入门指南
java·开发语言·测试工具·jmeter·自动化
kaico201817 小时前
jenkins值之job的配置
java·jenkins
一叶落43817 小时前
LeetCode 380. O(1) 时间插入、删除和获取随机元素【哈希表 + 动态数组 | C语言详解】
c语言·数据结构·c++·算法·leetcode·散列表
xixixiLucky17 小时前
TreeSet |TreeMap|jar包|web包易混淆解答
java·开发语言
xiaoye-duck17 小时前
《算法题讲解指南:递归,搜索与回溯算法--二叉树中的深搜》--8.二叉树剪枝,9.验证二叉搜索树
c++·算法·深度优先·递归