我尝试合并两个数组,但得到的输出是 [ 0, 3, 3, 4, 4 ]
function mergeSortedArrays(arr1, arr2) {
var i = 0;
var j = 0;
var arr3 = [];
if (arr1 === undefined || arr1.length == 0) {
return arr2;
}
if (arr2 === undefined || arr2.length == 0) {
return arr1;
}
while (i < arr1.length - 1 && j < arr2.length - 1) {
if (arr1[i] < arr2[j]) {
arr3.push(arr1[i]);
i++;
} else {
arr3.push(arr2[j]);
j++;
}
}
return arr3;
}
console.log(mergeSortedArrays([0, 3, 4, 31], [3, 4, 6, 30]));
对于这个例子,我知道我没有考虑数组大小不同的情况,但这是为了以后的问题。该代码目前甚至不适用于基本情况。它不会一直迭代并在中途中断。有人可以解决这个问题。我已经解决了 while 循环,但代码仍然不起作用。
四季花海
holdtom
相关分类