class Solution: def Merge(self , pHead1: ListNode, pHead2: ListNode) : def create_list(head,lis): #这是一个遍历链表生成列表的函数 while head: tmp=head.val lis.append(tmp) head=head.next return lis lis=create_list(pHead1,[])+create_list(pHead2,[]) #列表合并排序 lis.sort() head=ListNode(0) #生成虚拟头节点 tmp=head #遍历列表生成链表 for i in range(0,len(lis)): node=ListNode(lis[i]) tmp.next=node tmp=node return head.next #虚拟头节点是空的,因此链表开头是他的下一位