#双端队列回文判断
class Deque():
def __init__(self):
self.items = []
#在队首加入数据项
def addFront(self,item):
self.items.append(item)
#在队尾加入数据项
def addRear(self,item):
self.items.insert(0,item)
#删除队首数据项,并返回该数据
def removeFront(self):
return self.items.pop()
#删除队尾数据项,并返回该数据
def removeRear(self):
return self.items.pop(0)
def isEmpty(self):
return self.items == []
def size(self):
return len(self.items)
if __name__=='__main__':
q = Deque()
def Str(S):
for i in S:
q.addFront(i) # 全部入队
while q.size() > 1:
if q.removeRear() != q.removeFront(): #队首和队尾是否一样
return False
return True
print(Str('斗鸡山上山鸡斗'))
print(Str("123456"))
最后运行的结果: