创建一个链表生成类
class ListNode:def __init__(self, x):self.val = xself.next = Noneclass LinkList:def __init__(self):self.head = Nonedef initList(self, data):# 创建头结点self.head = ListNode(data[0])r = self.headp = self.head# 逐个为 data 内的数据创建结点, 建立链表for i in data[1:]:node = ListNode(i)p.next = nodep = p.nextreturn rdef printlist(self, head):if head == None: returnnode = headwhile node != None:print(node.val, end=' ')node = node.next
链表合并函数
def mergeTwoLists(A, B):if A is None:return Belif B is None:return AlistMerge = Noneif A.val < B.val:listMerge = AlistMerge.next = mergeTwoLists(A.next, B)else:listMerge = BlistMerge.next = mergeTwoLists(B.next, A)return listMerge
测试:
l=LinkList()
data1 = [1, 2, 3]
data2= [2, 4, 6]
l1=l.initList(data1)
l2=l.initList(data2)
ret = mergeTwoLists(l1, l2)
print(ret)
