剑指offer

16-合并两个排序的链表-(常规做法|递归)

2020-05-07  本文已影响0人  马甲要掉了

题目描述

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

代码:

/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/

function Merge(pHead1, pHead2)
{
    // write code here
    var p3 = new ListNode(0);
    var p4 = p3;
    while(pHead1 && pHead2){
        if(pHead1.val >pHead2.val){
            p3.next = pHead2;
            p3 = p3.next;
            pHead2 = pHead2.next;
        }else{
            p3.next = pHead1;
            p3 = p3.next;
            pHead1 = pHead1.next;
        }
    }
    if(pHead1){
            p3.next = pHead1;
    }
    if(pHead2){
            p3.next = pHead2;
    }
    return p4.next;
}
/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/

function Merge(pHead1, pHead2)
{
    // write code here
    let p3;
    if(pHead1===null){
        return pHead2;
    }
    if(pHead2===null){
        return pHead1;
    }
    if(pHead1.val>pHead2.val){
        p3 = pHead2;
        p3.next = Merge(pHead1,pHead2.next);
    }else{
        p3 = pHead1;
        p3.next = Merge(pHead1.next,pHead2);
    }
    return p3;
}
上一篇 下一篇

猜你喜欢

热点阅读