以后遇到指针、递归的题都按照如下模板做,思路清晰
TreeNode* convert(vector<int> nums,int left,int right)
{
if(left>right) return NULL;
int mid=(left+right)/2;
TreeNode * root=new TreeNode(nums[mid]);
root->left=convert(nums,left,mid-1);
root->right=convert(nums,mid+1,right);
return root;
}
TreeNode* sortedArrayToBST(vector<int>& nums) {
int left=0,right=nums.size();
if(right==0) return NULL;
return convert(nums,0,right-1);
}
感谢:http://www.cnblogs.com/TenosDoIt/p/3440079.html的思路启迪。