📅  最后修改于: 2023-12-03 15:34:31.693000             🧑  作者: Mango
本程序旨在将一个链表合并到另一个链表的交替位置。例如输入链表A:1->2->3 和 链表B:4->5->6,则输出链表:1->4->2->5->3->6。
本程序运行于Python 3.x环境。
本程序提供链表结构体的定义和链表合并函数的实现,用户可直接调用链表合并函数。以下是链表结构体的定义:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
以下是链表合并函数的实现:
def merge_alternately(l1: ListNode, l2: ListNode) -> ListNode:
dummy = ListNode(-1)
tail = dummy
while l1 and l2:
tail.next = l1
l1 = l1.next
tail.next.next = l2
l2 = l2.next
tail = tail.next.next
tail.next = l1 if l1 else l2
return dummy.next
函数参数说明:
函数返回值说明:返回合并后的链表
以下为本程序的使用示例:
# 创建链表1和链表2
l1 = ListNode(1, ListNode(2, ListNode(3)))
l2 = ListNode(4, ListNode(5, ListNode(6)))
# 合并链表1和链表2
merged_list = merge_alternately(l1, l2)
# 打印合并后的链表
while merged_list:
print(str(merged_list.val) + "->", end="")
merged_list = merged_list.next
print("None")
输出结果为:
1->4->2->5->3->6->None
本示例中,链表1为1->2->3,链表2为4->5->6,合并后的链表为1->4->2->5->3->6。
本程序提供了一个简单的方法将一个链表合并到另一个链表的交替位置,可以应用于各种链表问题中。