找出两个递增有序单链表中相同的元素,建一个表把这些元素存起来(假设每个子表里没有重复的元素)。两个表长度不一样长,所以借助二路归并。主要思路借助二路归并的代码,若p、q结点如果不同,就把较小的那个元素的指针往后移一位。
def Commnodes(A,B):
p=A.head.next#指针指向A中的首结点
q=B.head.next#指针指向B中的首结点
C=LinkList()#建立空链表
t=C.head#服务尾插法
while p!=None and q!=None:
if p.data<q.data:
p=p.next
elif q.data<p.data:
q=q.next
else:
s=LinkNode(p.data)#建立一个结点
t.next=s#这两行代码是尾插法
t=s
p=p.next
q=q.next
t.next=None
return C