美文网首页
4 - Easy - 合并两个有序链表

4 - Easy - 合并两个有序链表

作者: 1f872d1e3817 | 来源:发表于2018-05-30 17:06 被阅读0次

    将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

    示例:
    输入:1->2->4, 1->3->4
    输出:1->1->2->3->4->4

    虚头指针

    # Definition for singly-linked list.
    # class ListNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution(object):
        def mergeTwoLists(self, l1, l2):
            """
            :type l1: ListNode
            :type l2: ListNode
            :rtype: ListNode
            """
            dummy = ListNode(0)
            p = dummy
            p1, p2 = l1, l2
            while p1 and p2:
                if p1.val <= p2.val:
                    p.next = p1
                    p1 = p1.next
                else:
                    p.next = p2
                    p2 = p2.next
                p = p.next
            if p1:
                p.next = p1
            elif p2:
                p.next = p2
            return dummy.next
    

    相关文章

      网友评论

          本文标题:4 - Easy - 合并两个有序链表

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