力扣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;
    }
}
相关推荐
随便发挥14 小时前
Leetcode 剑指 Offer II 186. 文物朝代判断
leetcode
6Hzlia14 小时前
【Classic 150 刷题计划】 LeetCode 205. 同构字符串 | C++ 双向绑定与哈希表映射
c++·算法·leetcode
伍一5115 小时前
hiprint-spring-boot打印组件介绍
java·hiprint
Wang's Blog20 小时前
Java 接入Redis: 服务启动停止与后台运行配置
java·服务器·redis
此时不提桶,更待何时21 小时前
01-04-B-垃圾回收面试与生产事故实战
java·jvm·面试
有点。21 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
周末也要写八哥1 天前
经典算法实例:游戏中弱角色的数量(二)
算法
是Yu欸1 天前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
鹿角片ljp1 天前
KV Cache 解析
java·算法