输入一个字符串Str,输出Str里最长回文子串的长度。
回文串:指aba、abba、cccbccc、aaaa这种左右对称的字符串。
串的子串:一个串的子串指此(字符)串中连续的一部分字符构成的子(字符)串
例如 abc 这个串的子串:空串、a、b、c、ab、ac、bc、abc
输入
输入Str(Str的长度 <= 1000)
输出
输出最长回文子串的长度L。
输入样例
daabaac
输出样例
5
#include<bits/stdc++.h>
using namespace std;
char a[1010];
int lena,l,r,mid,maxn;
bool check(int len)
{
for(int i=0;i+len-1<lena;i++)
{
int tip=i,top=i+len-1;
while(tip<top)
{
if(a[tip]!=a[top]) break;
tip++;top--;
}
if(tip>=top) return true;
}
return false;
}
int main()
{
cin>>a;
lena=strlen(a);
for(int i=lena;i>=1;i--)
if(check(i))
{
cout<<i;break;
}
return 0;
}