JS/ES-實現合併兩個有序數列

js 合併兩個有序數組


let arr1 = [1,3,59,111];
let arr2 = [2,4,5,6,7,8,9,11,55,66,77,88];

function mergeList(arr1, arr2) {
    let len1 = arr1.length - 1
    let len2 = arr2.length - 1
    let mLen = arr1.length + arr2.length - 1
    while (len1 >= 0 && len2 >= 0) {
        if (arr1[len1] > arr2[len2]) {
            arr2[mLen--] = arr1[len1--]
        } else {
            arr2[mLen--] = arr2[len2--]
        }
    }
    while (len1 >= 0) {
        arr2[mLen--] = arr1[len1--]
    }
    while (len2 >= 0) {
        arr2[mLen--] = arr2[len2--]
    }
    return arr2
}

console.log(mergeList(arr1, arr2))

輸出:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章