力扣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;
    }
}
相关推荐
bzmK1DTbd几秒前
Java在人工智能:TensorFlow Java API的使用
java·人工智能·tensorflow
小碗羊肉5 分钟前
【JavaWeb | 第四篇】分层解耦
java·后端·servlet
EM-FF9 分钟前
idea快捷键
java·ide·intellij-idea
IT猿手11 分钟前
光伏模型参数估计:山羊优化算法(Goat Optimization Algorithm, GOA)求解光伏模型参数辨识问题,免费提供完整MATLAB代码链接
开发语言·算法·matlab·智能优化算法·光伏模型参数估计·光伏模型参数辨识·最新群智能算法
薪火铺子16 分钟前
Redis 分布式锁与 Redisson 原理深度解析
java·redis·分布式·后端
胡楚昊17 分钟前
BUU WEB之旅(1)
java·数据库·mybatis
嵌入式小企鹅26 分钟前
大模型算法工程师面试宝典
人工智能·学习·算法·面试·职场和发展·大模型·面经
牢七29 分钟前
链条合集整理
java·开发语言
我不是懒洋洋30 分钟前
手写一个并查集:从原理到最小生成树实战
c语言·c++·经验分享·算法
图码36 分钟前
一文搞懂如何判断字符串是否为Pangram(全字母句)
数据结构·算法·网络安全·数字雕刻·ping++