兄弟萌,话不多说,show me the code!
"""
采用List实现双端队列,0作为deque的尾端,-1作为首端
"""
class Deque:
def __init__(self):
self.items = []
def isEmpty(self):
return 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 size(self):
return len(self.items)
def palchecker(aString):
"""利用双端队列判断回文词"""
chardeque = Deque()
for ch in aString:
chardeque.addRear(ch) # 把所有字符加入到双端队列
stillEqual = True
while chardeque.size() > 1 and stillEqual:
first = chardeque.removeFront()
last = chardeque.removeRear()
if first != last: # 让首端和末端的字符比较
stillEqual = False
return stillEqual
if __name__ == '__main__': # 测试
print(palchecker("lsdkjfskf"))
print(palchecker("radar"))
print(palchecker("上海自来水来自海上"))
结果:
False
True
True
版权声明:本文为sdhdsf132452原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。