69,369
社区成员
发帖
与我相关
我的任务
分享
struct TreeNode* fuzhi(int* nums, int left, int right);
struct TreeNode* sortedArrayToBST(int* nums, int numsSize){
if(numsSize == 0)
return NULL;
return fuzhi(nums, 0, numsSize - 1);
}
struct TreeNode* fuzhi(int* nums, int left, int right)
{
if(left > right || left < 0)
return NULL;
struct TreeNode* root = (struct TreeNode*)malloc(sizeof(struct TreeNode));
int mid = left + (right - left) / 2;
root->val = nums[mid];
root->left = fuzhi(nums, left, mid - 1);
root->right = fuzhi(nums, mid + 1, right);
return root;
}