栈和队列两种结构实现判断回文
时间: 2024-05-06 16:18:17 浏览: 153
数据结构C语言回文判断(运用栈以及队列完成).doc
使用栈和队列两种结构都可以实现判断回文,下面是两种实现方法:
1. 使用栈实现判断回文
首先将字符串中的每个字符依次入栈,然后再依次出栈,将出栈的字符拼接起来形成一个新的字符串。最后将原字符串和新字符串进行比较,如果相等则说明是回文。
示例代码如下:
```python
def is_palindrome(s):
stack = []
for c in s:
stack.append(c)
new_s = ''
while stack:
new_s += stack.pop()
return s == new_s
```
2. 使用队列实现判断回文
将字符串中的每个字符依次入队列,然后再依次出队列,将出队列的字符拼接起来形成一个新的字符串。最后将原字符串和新字符串进行比较,如果相等则说明是回文。
示例代码如下:
```python
from collections import deque
def is_palindrome(s):
queue = deque()
for c in s:
queue.append(c)
new_s = ''
while queue:
new_s += queue.popleft()
return s == new_s
```
以上两种方法都可以实现判断回文,使用哪种方法取决于实际需求和具体情况。
阅读全文