#include<iostream>
#include<set>
#include<algorithm>
using namespace std;
void printset(set<int>& s)
{
set<int>::iterator it = s.end();
it--;
cout << *it << endl;
}
int main()
{
string a;
cin >> a;
set<int>s;
int count = 0;
for (int i = 0; i < a.size(); i++)
{
for (int j = 1; j < a.size(); j++)
{
if (j > i)
{
string b = a.substr(i, j + 1);
if (b.size() %2== 0)
{
string c = b;
count++;
for (int k = 0; k < count; k++)
{
string f1 = c.substr(0, c.size() / 2);
string f2 = c.substr(c.size() / 2, c.size());
reverse(f2.begin(),f2.end());
int a = f1.compare(f2);
if (a == 0)
{
s.insert(c.size());
}
}
}
}
}
}
printset(s);
return 0;
}
给定一个仅包含小写字母的字符串,求它的最长回文子串的长度。
最新推荐文章于 2022-09-14 16:10:11 发布