再开辟一个空间,然后按顺序放进去,再把这个空间赋给num1
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
int p1 = 0, p2 = 0;
int rs[m+n];
int cur;
while(p1 < m || p2 < n)
{
if(p1 == m)
{
cur = nums2[p2++];
}
else if(p2 == n)
{
cur = nums1[p1++];
}
else if(nums1[p1] < nums2[p2])
{
cur = nums1[p1++];
}
else
{
cur = nums2[p2++];
}
rs[p1+p2-1] = cur;
}
for(int i = 0; i < n+m; i++)
{
nums1[i] = rs[i];
}
}
};