时间复杂度:\(O(m+n)\)
class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int cur = m + n - 1;
        while (cur >= 0) {
            if (n == 0) return;
            if (m < 1) {
                nums1[cur--] = nums2[--n];
                continue;
            }
            if (n < 1) {
                nums1[cur--] = nums1[--m];
                continue;
            }
            if (nums1[m - 1] > nums2[n - 1]) nums1[cur--] = nums1[--m];
            else nums1[cur--] = nums2[--n];
        }
    }
};
原文:https://www.cnblogs.com/clown9804/p/12548033.html