最長回文子串

2021-06-25 19:17:37 字數 883 閱讀 1769

描述

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

輸入輸入乙個測試資料n(1<=n<=10);

隨後有n行,每行有乙個字串。

輸出輸出所要求的回文子串。

樣例輸入

1confuciuss say:madam,i'm adam.

樣例輸出

madam,i'm adam

#include#include#define isalpha(a) a>='a'&&a<='z'||a>='a'&&a<='z'

/*判斷是否為字母*/

#define isupper(a) a>='a'&&a<='z'

/*判斷是否是大寫字母*/

#define tolower(a) a-'a'+'a'

/*將大寫字母轉換成小寫字母*/

#define max 5010

char s[max],s1[max];

int pos[max],len,x,y,cnt;

void work()//將所有的字母存放到s1中

} for(j=1;s1[i+j-1]==s1[i-j];j++)//以i與i-1為中心,以j為擴充套件幅度向兩端擴充套件

}} for(i=x;i<=y;i++)

printf("%c",s[i]);

printf("\n");

}int main()

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,且佔據單獨一行,輸出最長的回文子串 如有多個,輸出,起始位置最...