-
题目描述:
-
输入一个字符串,输出该字符串中对称的子字符串的最大长度。
比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
-
输入:
-
存在多组数据,每组数据一行字符串,长度不大于100。
-
输出:
-
输出回文子串的最大长度。
-
样例输入:
-
google
-
样例输出:
-
4
-
-
#include<iostream> #include<cstring> using namespace std; string str; int main() { int i,j,k,t; while(cin>>str) { k=0; for(i=0;str[i]!='\0';i++) { for(t=j=0;i-j>=0 && str[i+j+1]!='\0';j++) if(str[i-j]==str[i+j+1]) t++; else break; k=k>2*t?k:2*t; for(t=0,j=1;i-j>=0 && str[i+j]!='\0';j++) if(str[i-j]==str[i+j]) t++; else break; k=k>2*t+1?k:2*t+1; } cout<<k<<endl; str.clear(); } return 0; }