题目:
分析:
这道题借鉴了这位大佬的题解,通过题目可知找对称字符串,对称的字符串又满足回文串的性质,也就是说该字符串倒转之后仍为他本身,可以通过一个二重循环,倒转每一个可能的字符串,看该字符串是否满足回文串的性质,如果满足,找出这些字符串中最长的即可。
代码:
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
string ss;
int ans = 1;
getline(cin,ss);
int len = ss.size();
for(int i=0;i<len;++i)
{
string mat = "";
for(int j=i;j<len;++j)
{
mat += ss[j];
string tmp = mat;
reverse(tmp.begin(),tmp.end());
if(tmp == mat && ans < tmp.size())
ans = tmp.size();
}
}
printf("%d\n",ans);
return 0;
}