双指针 ,分区
/**
*
* @param A int整型一维数组
* @param B int整型一维数组
* @return void
*/
function merge(A, m, B, n) {
// write code here
let pn = n - 1,
pm = m - 1,
pmn = m + n - 1;
while (pmn >= 0) {
if (pn < 0 || pm < 0) {
if (pm < 0) {
A[pmn] = B[pn];
pn--;
} else {
A[pmn] = A[pm];
pm--;
}
} else {
if (A[pm] > B[pn]) {
A[pmn] = A[pm];
pm--;
} else {
A[pmn] = B[pn];
pn--;
}
}
pmn--;
}
return A;
}
module.exports = {
merge: merge,
};