判斷回文串(python實現)

2021-09-07 19:19:17 字數 1213 閱讀 1258

回文的詞特點是正序和倒序拼寫相同給,比如noon以及redivider。用遞迴的思路來看,回文詞的收尾相同,中間部分是回文詞。

下面的函式是把字串作為實際引數,然後返回函式的頭部、尾部以及中間字母:

def first(word):

return word[0]

def last(word):

return word[-1]

def middle(word):

return word[1:-1]

把這些函式輸入到乙個名字叫做palindrome.py的檔案中,測試一下輸出。如果中間你使用乙個只有兩個字元的字串會怎麼樣?乙個字元的怎麼樣?空字串,比如『』沒有任何字母的,怎麼樣?

.寫乙個名叫is_palindrome的函式,使用字串作為實際引數,根據字串是否為回文詞來返回真假。可以用內建的len函式來檢查字串的長度。

1、空字串時 字串下標越界 報錯

2、**如下

# -- coding: utf-8 --

'''不支援中文注釋時加編碼說明'''

def first(word):

return word[0]

def last(word):

return word[-1]

def middle(word):

return word[1:-1]

def is_right(word): #注意基準條件 先判斷長度否則字串下標會越界

if len(word) < 2:

return true

if first(word) != last(word):

return false

return is_right(middle(word))

if __name__ == '__main__': #import時不執行 指令碼執行時執行

word = 'nn'

if (len(word) ==(0 or 1)) or is_right(word):

print(word + '是回文串')

else:

print(word + '不是回文串')

def ispalindrome(s):

return s == s[::-1]

s[::-1] 字串翻轉

python實現 判斷回文字串 回文鍊錶 回文數

所謂回文字串,就是正讀和反讀都一樣的字串,比如 level 或者 noon 等等就是回文串。即是對稱結構 判斷回文字串 方法一 def is palindrome s return true if s s 1 else false方法二 def is palindrome s length len ...

判斷回文串,判斷回文數,最長回文串,回文串的個數

判斷乙個字串是否是回文串,首先了解下它的定義 回文串 是乙個正讀和反讀都一樣的字串,比如 level 或者 noon 等等就是回文串。所以判斷是否是回文串,判斷這個字串是否對稱即可。從而用兩個指標同時向中間掃瞄即可判斷。判斷字串是否是回文串,即判斷是否對稱。兩邊指標同時向中間掃瞄,判斷是否相等,不等...

回文字串判斷 遞迴實現

所謂回文字串,就是乙個字串,從左到右讀和從右到左讀是完全一樣的。比如 level aaabbaaa 題目 判斷乙個字串是否為回文 解法 遞迴 遞迴的作用在於把問題的規模不斷縮少,直到問題縮少到能簡單地解決 問 如何縮少問題規模?答 通過觀察可以知道,乙個回文字串其中內部也是回文。所以,我們只需要以去...