双指针法
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; };
原文:https://www.cnblogs.com/jmh0113/p/14617910.html