其他分享
首页 > 其他分享> > Leetcode21. 合并两个有序链表

Leetcode21. 合并两个有序链表

作者:互联网

21. 合并两个有序链表

题目描述:
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
实例:
示例:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
解法1(python)

class Solution:

    def less(self, a, b):
        if a.val < b.val:
            return a
        else:
            return b

    def mergeTwoLists(self, l1, l2):

        l3 = ListNode(0)
        rl3 = l3

        while l1 or l2:

            if not l1 or not l2:
                l3.next = l1 if l1 else l2
                break

            l3.next = self.less(l1, l2)
            if l3.next == l1:
                l1 = l1.next
            else:
                l2 = l2.next
                
            l3 = l3.next

        return rl3.next

解法2(python)

class Solution:
    def mergeTwoLists(self, l1, l2):
        """
        :type l1: ListNode
        :type l2: ListNode
        :rtype: ListNode
        """
        l = list()
        while(l1!=None):
            l.append(l1.val)
            l1 = l1.next
        while(l2!=None):
            l.append(l2.val)
            l2 = l2.next
        return sorted(l)

标签:return,next,链表,l2,l3,有序,l1,Leetcode21
来源: https://blog.csdn.net/weixin_43199534/article/details/86663726