方法1:
双指针不断遍历nums1和nums2数组,不断把结果放入新数组中,最后把新数组赋值给nums1
class Solution {
public:
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
vector<int>temp(m+n);
int k = 0;
int i = 0,j = 0;
while(i<m && j<n){
if(nums1[i] <= nums2[j]) temp[k++] = nums1[i++];
else temp[k++] = nums2[j++];
}
while(i<m) temp[k++] = nums1[i++];
while(j<n) temp[k++] = nums2[j++];
nums1 = temp;
}
};