力扣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;
    }
}
相关推荐
ChinaRainbowSea2 分钟前
9. LangChain4j + 整合 Spring Boot
java·人工智能·spring boot·后端·spring·langchain·ai编程
ゞ 正在缓冲99%…4 分钟前
leetcode35.搜索插入位置
java·算法·leetcode·二分查找
武昌库里写JAVA12 分钟前
Mac下Python3安装
java·vue.js·spring boot·sql·学习
lifallen15 分钟前
字节跳动Redis变种Abase:无主多写架构如何解决高可用难题
数据结构·redis·分布式·算法·缓存
程序员清风27 分钟前
滴滴三面:ZGC垃圾收集器了解吗?
java·后端·面试
feifeigo12334 分钟前
星座SAR动目标检测(GMTI)
人工智能·算法·目标跟踪
WWZZ202536 分钟前
视觉SLAM第10讲:后端2(滑动窗口与位子图优化)
c++·人工智能·后端·算法·ubuntu·机器人·自动驾驶
扯淡的闲人1 小时前
多语言编码Agent解决方案(4)-Eclipse插件实现
java·ide·eclipse
YuTaoShao1 小时前
【LeetCode 每日一题】36. 有效的数独
linux·算法·leetcode
IT古董1 小时前
【漫话机器学习系列】003.Agglomerative聚类
人工智能·算法·机器学习