使用堆栈找到回文
回文是一个可以双向阅读的词,比如皮划艇。
此示例将说明如何使用 Python3 查找给定单词是否为回文结构。
首先,我们需要将一个字符串转换为一个堆栈(我们将使用数组作为堆栈)。
str = "string"
stk = [c for c in str] #this makes an array: ["s", "t", "r", "i", "n", "g"]
stk.append("s") #adds a letter to the array
stk.pop() #pops the last element
现在,我们必须颠倒这个词。
def invert(str):
stk = [c for c in str]
stk2 = []
while len(stk) > 0:
stk2.append(stk.pop())
#now, let's turn stk2 into a string
str2 = ""
for c in stk2:
str2 += c
return str2
现在我们可以比较单词和倒置形式。
def palindrome(str):
return str == invert(str)