力扣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;
    }
}
相关推荐
星马梦缘2 分钟前
死锁与进程资源分配问题的解法
算法·操作系统·深度优先·死锁
m0_752035635 分钟前
markdown语言格式
java
布朗克1685 分钟前
12 封装与构造方法
java·开发语言·封装·构造方法
爱炼丹的James7 分钟前
第四章 数学知识
算法
吃好睡好便好15 分钟前
矩阵旋转的计算
学习·线性代数·算法·矩阵
z落落15 分钟前
C# 抽象类(abstract)
java·开发语言·c#
大湿兄啊啊啊28 分钟前
MID360S调试
java·服务器·前端
.Cnn32 分钟前
Maven进阶知识点
java·maven
布朗克16835 分钟前
11 面向对象思想入门
java·对象