Leetcode|sort+双指针|88. 合并两个有序数组

2021-09-22 11:44:32 浏览数 (1)

1 双指针

代码语言:javascript复制
class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int idx1 = 0, idx2 = 0;
        vector<int> tmp;
        while (idx1 < m || idx2 < n) {
            if (idx1 == m) 
                tmp.emplace_back(nums2[idx2  ]);
            else if (idx2 == n)
                tmp.emplace_back(nums1[idx1  ]);
            else if (nums1[idx1] < nums2[idx2])
                tmp.emplace_back(nums1[idx1  ]);
            else tmp.emplace_back(nums2[idx2  ]);
        }
        for (int i = 0; i < n   m; i  )
            nums1[i] = tmp[i];
    }
};

0 人点赞