《Python数据结构与算法分析》
实现双端队列:用列表的位置0处作为双端队列的后端
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)
回文检测器:用一个双端队列来存放字符串中的字符,按从左往右的顺序将字符串中的字符添加到双端队列的后端
from pyDeque import Deque
def palChecker(aString):
chardeque = Deque()
for i in aString:
chardeque.addRear(i)
stillEqual = True
while chardeque.size() > 1 and stillEqual:
first = chardeque.removeFront
last = chaedeque.removeRear
if first != last:
stillEqual = False
return stillEqual