在Python中合并两个链表可以使用链表的节点进行操作。首先,需要创建一个表示链表节点的类,该类包含一个值属性和一个指向下一个节点的指针属性。然后,根据题目的要求,我们可以创建一个函数来合并两个链表。
以下是一个示例代码,用于合并两个链表:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def mergeTwoLists(l1, l2):
# 创建一个空的头节点
dummy = ListNode()
# 创建一个指针用于遍历链表
current = dummy
# 遍历两个链表
while l1 and l2:
if l1.val < l2.val:
current.next = l1
l1 = l1.next
else:
current.next = l2
l2 = l2.next
current = current.next
# 如果其中一个链表为空,直接将另一个链表连接到结果链表的末尾
current.next = l1 if l1 else l2
# 返回结果链表的头节点
return dummy.next
# 创建链表
# l1: 1 -> 2 -> 4
l1 = ListNode(1)
l1.next = ListNode(2)
l1.next.next = ListNode(4)
# l2: 1 -> 3 -> 4
l2 = ListNode(1)
l2.next = ListNode(3)
l2.next.next = ListNode(4)
# 合并链表
result = mergeTwoLists(l1, l2)
# 打印合并后的链表结果
while result:
print(result.val)
result = result.next
这段代码中,我们创建了一个新的链表来存储合并后的结果。使用两个指针l1
和l2
来遍历两个输入链表,比较节点的值大小,然后将较小的节点连接到结果链表中。最后,将另一个链表中剩余的节点连接到结果链表的末尾。返回结果链表的头节点即可。
对于上述代码中合并两个链表的问题,腾讯云并没有特定的产品与之关联,因此不需要提供相关产品链接。
领取专属 10元无门槛券
手把手带您无忧上云