字串處理 最長回文子串

2021-07-11 17:58:23 字數 526 閱讀 4523

題目描述:

給定乙個字串,求它的最長回文子串的長度.

方法一:中心擴充套件法.

由於回文串中,以某個字元為中心的字首和字尾一定是相同字元。可以利用此方法列舉中心位置,然後進行擴充套件,從而找到最長回文子串。

#include #include 

using namepace std;

int longestpalindrome(string &str, int len);

int begin = 0; //記錄回文串開始的位置

int main()

int longestpalindrome(string &str, int len)

if(length > max)

for(j = 0; (i - j >= 0)&&(i + j + 1

< len); j++) //處理回文部分長度為偶數

if(length > max)

}return max;

}

字串處理系列 最長回文子串

這是一道非常經典的字串處理問題,回文是指該字串是對稱的,如abcdcba,aabbaa 該問題最樸素的解法是找到所有子串,判斷是不是回文並找出最長的回文子串,很簡單,這裡就不寫了 第二種解法是中心點法,即以某個點為中心,用兩個索引分別往前和往後走,找出其回文,這裡需要注意回文是奇數個字元還是偶數個字...

字串 最長回文子串

最長回文子串 回文子串 即正著看和倒著看相同的子串,如 abcba yyxyy。由於此類題目為面試筆試常考題目,所以現在就來整理一下啦。1 暴力求解法 最直接的想法就是暴力求解,但是我們可以看到下面的 時間複雜度是o n 3 string findlongeststring string str 暴...

字串 最長回文子串

介紹一下幾個概念 就是從左往右和從右往左讀是一樣的。就如標語 我為人人,人人為我 子串,顧名思義,就是在原字串中的子集,就叫子串。串就是不能分割的,就是連在一起,這個要區別與子串行,子串行就是一段 一段的。列舉各個起點和終點,然後進行判斷該子串是否為回文,最後就是更新最長的回文串。列舉起點和終點 o...