力扣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;
    }
}
相关推荐
wand codemonkey12 小时前
【第五步+前后分离调】最后的联动调试--java+Vue3项目
java·开发语言·vue.js
JunLa12 小时前
L angGraph vs 链式调用
java·网络·数据库
代码无bug抓狂人13 小时前
二分法——方程求解
算法·数学建模
蝈理塘(/_\)大怨种13 小时前
快速排序的三路划分和自省排序
数据结构·算法
晚风烟火13 小时前
从“落地实践”和“应试通关”两个维度,拆解每一章到底要掌握什么
java
qq_2965532713 小时前
矩阵转置的两种实现方式:从暴力法到原地算法
数据结构·线性代数·算法·青少年编程·矩阵
2zcode13 小时前
滚压表面强化过程中变形诱导位错演化与梯度晶粒细化机理的数值模拟研究
人工智能·python·算法
渣渣苏13 小时前
硬核拆解 HNSW:亿级向量如何实现毫秒级召回?(下篇:实战调参与工程优化)
人工智能·算法·agent·向量数据库·hnsw·智能体