编写一个算法利用顺序栈判断一个字符串是否是对称串。所谓对称串是指从左向右读和从右向左读的序列相同。
时间: 2024-05-29 10:08:43 浏览: 46
设计一个算法采用顺序栈判断表达式中的括号是否正确配对
5星 · 资源好评率100%
可以使用栈来解决这个问题。具体步骤如下:
1. 定义一个顺序栈S;
2. 依次将字符串的每个字符压入栈S中;
3. 再从栈S中依次弹出字符,将弹出的字符依次拼接成新的字符串T;
4. 最后比较原字符串和新字符串T是否相等,相等则为对称串,否则不是。
以下是用python实现此算法的示例代码:
def isSymmetry(s):
S = []
for ch in s:
S.append(ch)
T = ''
while len(S) > 0:
T += S.pop()
return s == T
print(isSymmetry('abcba')) # True
print(isSymmetry('hello')) # False
阅读全文