题目链接
解题思路:
就相当于找 最长回文串
回文串有两种: 1.奇数长度 2.偶数长度
然后两种情况都暴力求一下 取最大值就可
代码如下:
#include<iostream>
using namespace std;
int main()
{
string a;
int i,j,x,y,s;
int maxx=1;
int ans=0;
getline(cin,a);
s=a.size();
for(i=0;i<s-1;i++)
{
ans=0;
x=i;
y=i+1;
while(a[x]==a[y]&&x>=0&&y<s)
{
x--;
y++;
ans+=2;
}
maxx=max(ans,maxx);
}
for(i=1;i<s-1;i++)
{
x=i-1;
y=i+1;
ans=1;
while(a[x]==a[y]&&x>=0&&y<s)
{
x--;
y++;
ans+=2;
}
maxx=max(ans,maxx);
}
cout<<maxx<<endl;
return 0;
}