欢迎光临散文网 会员登陆 & 注册

Leetcode Day8 4

2022-04-09 21:40 作者:我喜欢喝一点点  | 我要投稿

剑指 Offer 25. 合并两个排序的链表

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。


示例1:


输入:1->2->4, 1->3->4

输出:1->1->2->3->4->4


我真是傻了,我居然一开始想p对应l1,然后q对应l2,然后一个一个比插l1里面去,结果就是特别特别麻烦。

直接应该就是开个新的链表,然后l1,l2一个一个比过去,就很简单了。

# Definition for singly-linked list.

# class ListNode:

#     def __init__(self, x):

#         self.val = x

#         self.next = None


class Solution:

    def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:

        p=ListNode(0)

        q=p

        while l1 and l2:

            if l1.val<l2.val:

                p.next=l1

                l1=l1.next

                p=p.next

            else:

                p.next=l2

                l2=l2.next

                p=p.next

        if l1: p.next=l1

        else:

            p.next=l2

        return q.next


在一开始就设置q记录p所在链表的头结点,最后返回就会很简单。

Leetcode Day8 4的评论 (共 条)

分享到微博请遵守国家法律