力扣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;
    }
}
相关推荐
hua872223 分钟前
Golang 构建学习
java·开发语言·学习
Halo_tjn9 分钟前
Java 三个修饰符 相关知识点
java·开发语言
毕设源码-朱学姐9 分钟前
【开题答辩全过程】以 广东省非遗文化信息管理系统的设计与实现为例,包含答辩的问题和答案
java
WolfGang00732113 分钟前
代码随想录算法训练营 Day13 | 二叉树 part03
数据结构·算法·leetcode
进击的小头14 分钟前
第11篇:频率响应绘制方法——伯德图(Bode Plot)
python·算法
2401_8830354614 分钟前
C++20概念(Concepts)入门指南
开发语言·c++·算法
番茄去哪了21 分钟前
Java基础面试题day01
java·开发语言·后端·javase·八股·面向对象编程
遇事不决问清风25 分钟前
AI 驱动开发实战复盘:从 0 到上线,一个真实项目的工程化总结
java·ai编程
wuqingshun31415926 分钟前
说说进程和线程的区别?
java·开发语言·jvm
fengci.34 分钟前
PolarD&N困难补充
算法