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

    科技2026-01-20  12

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

    【题目连接】

    题解

    合并两个排序的链表(伪头节点,清晰图解)

    思路

    代码

    # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: ### 0917 伪头节点(68 ms,14 MB) def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: ## 定义伪头节点dum和临时节点tmp dum = tmp = ListNode(0) ## 同时遍历两个链表,直至其中一个链表遍历完毕 while l1 and l2: ## 比较l1和l2当前节点的值的大小 if l1.val > l2.val: tmp.next = l2 # 临时节点tmp指向较小节点 l2 = l2.next # 使用完,则后移一位 else: tmp.next = l1 l1 = l1.next ## 临时节点tmp后移一位 tmp = tmp.next ## 临时节点tmp接着指向剩余非空的链表 tmp.next = l1 if l1 else l2 ## 返回伪头节点dum的下一个节点 return dum.next
    Processed: 0.019, SQL: 9