原樣輸出最長回文子串

2021-06-19 00:07:58 字數 1096 閱讀 5370

#include #include #include #define maxsize 5000

/*void paliandrome(char*);

int main()

void paliandrome(char lpstr)

lpbuf[j] = '\0';

printf("轉換字串: %s\n",lpbuf);

ilen = strlen(lpbuf);

int maxlen = 0;

int ix,iy; //原來字串的位置

for(i = 0; i < ilen; i=i+1)

if(ok != false && maxlen < j-i+1)

}} printf("最長回文子串: ");

for(i = ix; i <= iy; i=i+1)

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

printf("\n長度為: %d\n",maxlen);

return;}*/

/* 上面這種方法效率太低,當5000個a的時候這麼列舉就太浪費時間了

我們可以列舉回文串的中間位置

注意:當字串的長度為奇數和偶數的處理是不同的

*/void paliandrome(char*);

int main()

void paliandrome(char lpstr)

lpbuf[j] = '\0';

printf("轉換字串: %s\n",lpbuf);

ilen = strlen(lpbuf);

int maxlen = 0;

int ix,iy; //原來字串的位置

for(i = 0; i < ilen; i++)

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

}} printf("最長回文子串: ");

for(i = ix; i <= iy; i=i+1)

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

printf("\n長度為: %d\n",maxlen);

return;

}

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

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