see-88. Merge Sorted Array

利用array1多余的位置,从后向前遍历二个数组:

class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int total=m+n-1;
        m--;
        n--;
        while(m>=0&&n>=0)
        {
            if(nums1[m]>nums2[n])
            {
                nums1[total--]=nums1[m--];
            }
            else
                nums1[total--]=nums2[n--];
        }
        
        while(n>=0)
        {
            nums1[total--]=nums2[n--];
        }
    }
};

 


版权声明:本文为leetcodecl原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。