与merge sorted list思路相同,只是为数组存储
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
vector<int> res(m+n,0);
int i=0,j=0,k=0;
while(i<m&&j<n)
{
if(nums1[i]<nums2[j])
{
res[k] = nums1[i];
i++;
}
else
{
res[k] = nums2[j];
j++;
}
k++;
}
if(i==m)
while(j<n)res[k++]=nums2[j++];
if(j==n)
while(i<m)res[k++]=nums1[i++];
for(i=0;i<m+n;i++) nums1[i]=res[i];
}