diff --git a/src/leetcode/88_merge-sorted-array/20251024.ts b/src/leetcode/88_merge-sorted-array/20251024.ts new file mode 100644 index 0000000..4abe981 --- /dev/null +++ b/src/leetcode/88_merge-sorted-array/20251024.ts @@ -0,0 +1,25 @@ +/** + Do not return anything, modify nums1 in-place instead. + */ + export function merge(nums1: number[], m: number, nums2: number[], n: number): void { + let i = m - 1; + let j = n - 1; + let k = m + n - 1; + + while (i >= 0 && j >= 0) { + if (nums1[i] > nums2[j]) { + nums1[k] = nums1[i] + i-- + } else { + nums1[k] = nums2[j] + j-- + } + k-- + } + + while (j >= 0) { + nums1[k] = nums2[j] + j-- + k-- + } +};