题解 | #合并两个排序的链表#

合并两个排序的链表

http://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337

function ListNode(x){
    this.val = x;
    this.next = null;
}
function Merge(pHead1, pHead2)
{
    // write code here
    if (pHead1 ===null) return pHead2;
    if (pHead2 ===null) return pHead1;
    let p1 = pHead1;
    let p2 = pHead2;
    let result ;
    let node;
    if(p1.val<p2.val){
        result = new ListNode(p1.val)
        p1 = p1.next
    }else{
        result = new ListNode(p2.val)
        p2 = p2.next
    }
    let previous = result;
    while(p1 !== null && p2 !== null){
        if(p1.val <= p2.val){
            node = new ListNode(p1.val)
            p1 = p1.next
        }else{
            node = new ListNode(p2.val)
            p2 = p2.next
        }
        previous.next = node;
        previous = node;
    }
    while (p1 !== null ){
        node = new ListNode(p1.val)
        p1 = p1.next
        previous.next = node;
        previous = node;
    }
    while (p2 !== null ){
        node = new ListNode(p2.val)
        p2 = p2.next
        previous.next = node;
        previous = node;
    }
    return result;
}
module.exports = {
    Merge : Merge
};
全部评论

相关推荐

废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务