方法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;
    }
};