算法
时间复杂度:(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];
}
}
};