需求
需求:判断一个词是否是”回文词“
输入:字符串
输出:True / False
实现思路
用双端队列实现首尾字符的操作
代码示例
"""
用list实现双端队列
"""
class Deque(object):
def __int__(self):
self.items = []
def add_front(self, item):
self.items.insert(0, item)
def add_rear(self, item):
self.items.append(item)
def remove_front(self):
return self.items.pop(0)
def remove_rear(self):
return self.items.pop()
def is_empty(self):
return self.items == []
def size(self):
return len(self.items)
"""
需求:判断一个词是否是”回文词“
输入:字符串
输出:True / False
"""
def check_word(str0):
# 把输入的字符串保存到双端队列中
dq = Deque()
dq.items = list(str0)
flag = True # 默认是双端队列
# 取出双端队列中的头和尾进行比对
while dq.size() >= 2 and flag:
if dq.remove_front() != dq.remove_rear():
flag = False
# 返回最终的结果
return flag
# 测试
print(check_word("上海自来水来自海上"))
print(check_word("haha"))
# 测试结果
True
False