使用堆疊找到迴文

迴文是一個可以雙向閱讀的詞,比如皮划艇

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