更新时间:2022-06-15 05:59:54
var merge = function(nums1, m, nums2, n) { nums1.splice(m) nums2.splice(n) if (nums1.length === 0 || nums2.length === 0) { nums1.push(...nums2); return; } // 定义左指针 let left = 0; // 定义右指针 let right = 0; // 定义最终结果数组 let result = []; // 当双方都没有走到头的时候 while (left != nums1.length && right != nums2.length) { if (nums1[left] <= nums2[right]) { left++; } else { nums1.splice(left,0,nums2[right]) right++ } } // 如果是左指针走到头了,但是右指针还没有 if (left === nums1.length && right != nums2.length) { nums1.push(...nums2.slice(right)); } // 如果是右指针走到头了,但是左指针还没有 if (right === nums1.length && left != nums2.length) { nums1.push(...nums1.slice(left)); } }; 复制代码