使用堆疊找到迴文
迴文是一個可以雙向閱讀的詞,比如皮划艇。
此示例將說明如何使用 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)