5、 队列应用:“回文词”判定用python
时间: 2024-04-29 14:25:33 浏览: 136
回文词是指正着和倒着读都一样的词,如“level”、“racecar”等。我们可以使用队列来判断一个词是否为回文词。
具体思路如下:
1. 将词中的每个字符依次加入队列中。
2. 从队列中取出一个字符,同时从词的末尾取出一个字符进行比较。
3. 若两个字符相同,则继续比较队列中的下一个字符和词的下一个字符,直到队列为空或者找到不同的字符。
4. 若队列为空,则该词为回文词,否则不是。
以下是使用python实现的代码:
```python
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.append(item)
def dequeue(self):
return self.items.pop(0)
def is_palindrome(word):
q = Queue()
for ch in word:
q.enqueue(ch)
while not q.is_empty():
if q.dequeue() != word[-1]:
return False
word = word[:-1]
return True
# 测试
print(is_palindrome('level')) # True
print(is_palindrome('racecar')) # True
print(is_palindrome('hello')) # False
```
阅读全文