LeetCode88. 合并两个有序数组

双指针法

var merge = function(nums1, m, nums2, n) {
    let arr = new Array(m+n).fill(0);
    let p1 = 0;let p2 = 0;
    let cur;
    while(p1<m || p2 < n) {
        if(p1 === m) cur = nums2[p2++];
        else if(p2 === n) cur = nums1[p1++];
        else if(nums1[p1]<nums2[p2]) cur = nums1[p1++];
        else cur = nums2[p2++];
        arr[p1+p2-1] = cur;
    }

    for (let i = 0; i != m + n; ++i) {
        nums1[i] = arr[i];
    }
    return nums1;
};

 

posted @ 2021-04-05 10:38  JMH0113  阅读(43)  评论(0)    收藏  举报