回文字串判斷

2022-09-08 17:54:08 字數 482 閱讀 4621

問題描述:回文字串指的是乙個順著讀和反過來讀都一樣的字串,比如"abcba","poop"等,判斷乙個字串是否是回文字串。

這裡提供兩種解法:

解法一:同時從字串頭尾開始向中間掃瞄字串,如果所有頭尾字元都一樣,那麼這個字串就是乙個回文字串。

採用這種方法,只需要維護頭部和尾部兩個掃瞄指標即可,終止條件是尾指標大於等於頭指標。

演算法的時間複雜度為o(n),空間複雜度為o(1)。

解法二:從字串中間位置開始,向兩邊擴充套件掃瞄檢視兩邊字元是否相等。

演算法的時間複雜度為o(n),空間複雜度為o(1)。

雖然解法一和解法二的時間複雜度和空間複雜度一樣,但是在回文串處理的變形問題中,解法一或解法二可以起到意想不到的效果,可以很方便地處理問題。所以兩種解法都要掌握。

當然還存在其他解法,比如利用棧等資料結構,也可以輕易實現,這裡不再多說,讀者自己可以去思考。

由於兩種解法都比較簡單,這裡不再給出詳細的**實現。

判斷回文字串

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

判斷回文字串

本題要求編寫函式,判斷給定的一串字元是否為 回文 所謂 回文 是指順讀和倒讀都一樣的字串。如 xyzyx 和 xyzzyx 都是回文。bool palindrome char s 函式palindrome判斷輸入字串char s是否為回文。若是則返回true,否則返回false。include in...

判斷回文字串

1.設計思想 先根據提示輸入一段string字串,將string型字串轉化成char 型字串,再確定字串的第乙個字元下標和最後乙個字元下標。再寫返回值是boolean型的判斷兩個字元是否相等的方法,把字串和第乙個字元下標和最後乙個字元下標作為形參。判斷字元是否相等的函式裡,依次從字串兩端到中間判斷字...