美文网首页
合并两个排序的链表

合并两个排序的链表

作者: ElricTang | 来源:发表于2019-11-11 19:36 被阅读0次

    《剑指offer》刷题笔记。如有更好解法,欢迎留言。

    关键字:链表

    题目描述:

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

    思路:

    • 非递归:创建新链表,依次对比两个链表,将较小的放入新链表中。
    • 完整代码
    /*function ListNode(x){
        this.val = x;
        this.next = null;
    }*/
    function Merge(pHead1, pHead2)
    {
        let newList = new ListNode(-1);
        let cur = newList;
        while(pHead1 !== null && pHead2 !== null){
            if(pHead1.val < pHead2.val){
                cur.next = pHead1;
                pHead1 = pHead1.next;
            }else{
                cur.next = pHead2;
                pHead2 = pHead2.next;
            }
            cur = cur.next;
        }
        if(pHead1 !== null) cur.next = pHead1;
        if(pHead2 !== null) cur.next = pHead2;
        return newList.next;
    }
    

    相关文章

      网友评论

          本文标题:合并两个排序的链表

          本文链接:https://www.haomeiwen.com/subject/ohhxictx.html