leetcode-----88. 合并两个有序数组

算法

时间复杂度:\(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];
        }
    }
};
posted @ 2020-03-22 20:19  景云ⁿ  阅读(126)  评论(0编辑  收藏  举报