判断一个字符序列是否是回文,用顺序堆栈实现
时间: 2024-05-09 09:19:02 浏览: 127
aa.rar_aa是回文么
顺序堆栈(或称数组堆栈)是一种基于数组实现的堆栈结构,它的入栈和出栈操作都在数组的一端进行,通常是数组的末尾。
判断一个字符序列是否是回文,可以使用顺序堆栈实现。具体步骤如下:
1. 创建一个空的顺序堆栈,并将字符序列的每个字符入栈。
2. 创建一个空的字符串,用于存储出栈的字符。
3. 依次从顺序堆栈中出栈字符,并将出栈的字符追加到字符串中。
4. 判断字符串是否与原字符序列相等,若相等则说明是回文;否则不是回文。
下面是使用Python语言实现的代码示例:
```python
def is_palindrome(s):
stack = []
for c in s:
stack.append(c)
reversed_s = ""
while len(stack) > 0:
reversed_s += stack.pop()
return reversed_s == s
# 测试代码
print(is_palindrome("racecar")) # True
print(is_palindrome("hello")) # False
```
阅读全文