07有序数组转换为二叉搜索树
有序数组转换为二叉搜索树
给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。
示例 1:

输入:nums = [-10,-3,0,5,9]
输出:[0,-3,9,-10,null,5]
解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:示例 2:

输入:nums = [1,3]
输出:[3,1]
解释:[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。提示:
1 <= nums.length <= 104-104 <= nums[i] <= 104nums按 严格递增 顺序排列
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {}
TreeNode(int val) { this.val = val; }
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}public TreeNode sortedArrayToBST(int[] nums) {
return recur(nums,0,nums.length-1);
}
private TreeNode recur(int[] arr,int l , int r){
if(l>r) return null;
if(l==r){
return new TreeNode(arr[l]);
}
// 0,1,2,3
int mid = (l+r)/2;
TreeNode nodeL = recur(arr, l, mid-1);
TreeNode nodeR = recur(arr, mid + 1, r);
return new TreeNode(arr[mid],nodeL,nodeR);
}07有序数组转换为二叉搜索树
https://jiajun.xyz/2026/02/08/算法/08二叉树/07有序数组转换为二叉搜索树/