最長回文子串

2022-06-09 15:30:12 字數 414 閱讀 6548

首先解決「判斷時忽略標點,輸出進卻要按原樣」的問題?

可以用乙個簡單的方法:構造乙個新字串,不包含原來的標點符號,而且所有字元變成小寫(順便解決了大小寫的問題)。

由於在求最大值時,不知道s[i]和s[j]在原串中的位置。因此,必須增加乙個陣列pos,用pos[i]儲存s[i]在原串中的位置。

const int n=5010;

bool f[n][n];

string a,b;

int pos[n],cnt;

bool check(char c)

int main()

int len=pos[r]-pos[l]+1;

cout

return 0;

}

最長回文子串 最長回文子串行

1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...

最長回文子串

描述 輸入乙個字串,求出其中最長的回文子串。子串的含義是 在原串連續出現的字串片段。回文的含義是 正著看和倒著看是相同的,如abba和abbebba。在判斷是要求忽略所有的標點和空格,且忽略大小寫,但輸出時按原樣輸出 首尾不要輸出多餘的字串 輸入字串長度大於等於1小於等於5000,且單獨佔一行 如果...

最長回文子串

輸入乙個字元,求出其中最長的回文子串。子串的含義是 在元串中連續出現的字串片段。回文的含義是 正看和倒看相同,如abba和yyxyy,在判斷時候應該忽略所有的空格和標點符號,且忽略大小寫,但輸出應該保持原樣,輸入的字元長度不超過5000,且佔據單獨一行,輸出最長的回文子串 如有多個,輸出,起始位置最...