- 思路
- 代码
第一步:
若low>high则直接返回空节点
否则进行下一步
第二步:
medium=(high+low)/2=2
第三步:
将nums[medium]赋予当前节点的val
当前节点的左子树负责安排nums数组中medium之前的数
当前节点的右子树负责安排nums数组中medium之后的数
第四步:
返回当前节点
struct TreeNode* F(int* nums, int low, int high){
struct TreeNode *t;
if(high>=low){
int medium=(high+low)/2;
t=(struct TreeNode*)malloc(sizeof(struct TreeNode));
t->val=nums[(low+high)/2];
t->left=F(nums,low,medium-1);
t->right=F(nums,medium+1,high);
}
return t;
}
struct TreeNode* sortedArrayToBST(int* nums, int numsSize){
struct TreeNode *ret;
ret=F(nums,0,numsSize-1);
if(numsSize==0) ret=NULL;
return ret;
}



