原题
合并集,不需要去重,在原nums1上完成。 从后往前遍历:当Nums1[i]>Nums2[j]时,插入Nums1[i]到Nums1右边 当Nums1[i]<=Nums2[j]时,插入Nums2[j]到Nums1右边
class Solution
{
public:
void merge(vector<int> &nums1, int m, vector<int> &nums2, int n)
{
int length = m + n - 1;
while (n - 1 >= 0)
{
nums1[length--] = m - 1 >= 0 &&
nums1[m - 1] > nums2[n - 1] ? nums1[m-- - 1] : nums2[n-- - 1];
}
}
};
转载于:https://www.cnblogs.com/ruoh3kou/p/9893410.html