/**
* @param {number[]} nums1
* @param {number} m
* @param {number[]} nums2
* @param {number} n
* @return {void} Do not return anything, modify nums1 in-place instead.
*/
let merge = function (nums1, m, nums2, n) {
let r = [];
let i1 = 0;
let i2 = 0;
if (i1 < m && i2 < n) {
if (i1 < i2) {
r.push(nums1[i1]);
i1++;
} else {
r.push(nums2[i2]);
i2++;
}
}
if (i1 < m) {
while (i1 < m) {
r.push(nums1[i1]);
i1++;
}
}
if (i2 < n) {
while (i2 < n) {
r.push(nums2[i2]);
i2++
}
}
for (let i = 0; i < m + n; i++) {
nums1[i] = r[i];
}
nums1.sort((x, y) => x - y);
};