分別判斷最長對稱子串的長度爲偶數和奇數的情況;
#include <bits/stdc++.h>
using namespace std;
int main(){
string str;
getline(cin,str);
int maxlen = 0;
for(int i = 0;i < str.length();i++){
//假設最長對稱子串長度爲奇數,最小長度爲1
int temp = 1;
for(int j = 1;j < str.length();j++){
if(i - j < 0 || i + j >= str.length() || str[i+j] != str[i-j]){
break;
}
temp = j*2 + 1;
}
maxlen = max(maxlen,temp);
//假設最長對稱子串長度爲偶數,最小長度爲0
temp = 0;
for(int j = 1;j < str.length();j++){
if(i - j + 1 < 0 || i + j >= str.length() || str[i+j] != str[i-j+1]){
break;
}
temp = j*2;
}
maxlen = max(maxlen,temp);
}
cout<<maxlen<<endl;
return 0;
}