1.什么是回文字
所谓的回文字,就是指从左往右读和从右往左读没有区别,例如”abcba"就是回文字。
2.判断思路
回文字这种形式让我们想到它的特点是左右对称,那么我们只需要判断其对称性即可。我们可以尝试者把该字符串最左边和最右边的拿出来进行对比,判断是否相等;若相等,则判断左边第二个和右边倒数第二个是否相等;依次类推。但是判断次数肯定要有限制,如果字符串中元素个数是偶数,最后字符串长度为0,如果元素个数是奇数,那么最后长度为1.因此,我们的限制条件是,字符串的长度应始终大于1.
接着我们就需要考虑用什么数据结构来判断,这种数据结构要求我们可以在两端取出元素,因此,我们想到使用双向队列。我们可以把元素输入双向队列中,然后取出。
3.代码演示
class Deque:
"""定义双向队列"""
def __init__(self):
self.items = []
"""判断队列是否为空"""
def isEmpty(self):
return self.items == []
"""在队列首端插入元素"""
def addFront(self,item):
self.items.insert(0,item)
"""在队列尾端插入元素"""
def addRear(self, item):
self.items.append(item)
"""在队列首端删除元素"""
def deFront(self)