使用堆栈找到回文

回文是一个可以双向阅读的词,比如皮划艇

此示例将说明如何使用 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)