首页 > 其他 > 详细

21.合并两个有序列表

时间:2019-08-21 12:23:30      阅读:87      评论:0      收藏:0      [点我收藏+]
class Solution:
    def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
        # 创建一个初始链表
        curr = dummy = ListNode(0)
        
        # 遍历两个链表
        while l1 and l2:
            # 如果l1.val < l2.val,curr后面就接l1节点,否则就接l2
            if l1.val < l2.val:
                curr.next = l1
                # l1向后移动
                l1 = l1.next
            else:
                curr.next = l2
                l2 = l2.next
            # curr向后移动
            curr = curr.next
        # 当遍历l1和l2中有一个结束,则遍历结束,因为用的是and
        # 此时会出现l1和l2中一个遍历完了,一个没有遍历完
        # 所以curr.next后面接还没有遍历完的链表
        curr.next = l1 or l2
        return dummy.next  # 从头开始返回

 

21.合并两个有序列表

原文:https://www.cnblogs.com/WJZheng/p/11387596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!