https://leetcode.cn/problems/convert-sorted-array-to-binary-search-tree/
class Solution {
public TreeNode sortedArrayToBST(int[] nums) {
int len=nums.length;
return find(0,len-1,nums);//[0,len-1]构建树
//返回根节点
}
public TreeNode find(int i,int j,int[] nums){
if(i>j) return null;
if(i==j) return new TreeNode(nums[i]);//只有一个结点了
int mid=i+(j-i)/2;
//找到中间的这个结点
TreeNode node=new TreeNode(nums[mid]);
if(i<=mid-1&&i>=0&&mid-1<nums.length)//边界判断其实冗余
node.left=find(i,mid-1,nums);//构建左子树
if(mid+1<=j&&mid+1>=0&&j<nums.length)
node.right=find(mid+1,j,nums);//构建右子树
return node;
}
}