利用“堆栈”和“队列”,对输入的一组“字符串”判断是否“回文”
时间: 2023-11-03 07:04:41 浏览: 73
aa.rar_aa是回文么
可以利用堆栈和队列来判断一个字符串是否为回文字符串。
具体实现方法如下:
1. 将字符串中的每个字符依次入队列。
2. 同时,将每个字符压入堆栈。
3. 依次从队列头和堆栈顶取出字符进行比较。
4. 如果所有字符都相等,则字符串为回文字符串;否则不是。
代码实现如下(使用 Python 语言):
```python
def is_palindrome(string):
stack = []
queue = []
# 将字符串中的每个字符依次入队列和堆栈
for char in string:
queue.append(char)
stack.append(char)
# 依次从队列头和堆栈顶取出字符进行比较
while len(queue) > 0:
if queue.pop(0) != stack.pop():
return False
# 如果所有字符都相等,则字符串为回文字符串
return True
```
测试代码:
```python
print(is_palindrome("abcba")) # True
print(is_palindrome("abccba")) # True
print(is_palindrome("abcdba")) # False
```
阅读全文