类似于堆排序的merge过程
实例化出两个链表(s1, s2),比较连个链表当前元素的大小,谁小谁执行next()方法继续比较,当出现相当的时候把相等的值塞入数组$common里或者直接打印,当两个链表有一个元素比较完了,全部结束。
代码如下:
#coding=utf-8
'''
打印两个有序链表的公共部分
【 题目】 给定两个有序链表的头指针head1和head2, 打印两个
链表的公共部分。
'''
class Nodes(object):
"""单向链表的结点"""
def __init__(self,elem):
self.elem=elem
self.next=None
class SingleLinkList(object):
"""单链表"""
def __init__(self,node=None):
"""构造函数"""
self.__head=node #头节点
def getHead(self):
return self.__head
def travel(self):
"""遍历链表"""
cur=self.__head
while cur!=