python 数据结构 队列的实例 回文词与双端队列

# 回文词与双端队列
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.replace(" ",""):
        chardeque.addRear(ch)
    stillEqual = True
    print(aString)
    while chardeque.size() > 1 and stillEqual:
        first = chardeque.removeFront()
        last = chardeque.removeRear()
        if first != last:
            stillEqual = False
    return stillEqual

print(palchecker('radar'))
print(palchecker('r a da r'))

结果

posted @ 2020-06-29 20:30  allmenmustdie123  阅读(110)  评论(0编辑  收藏  举报