题目概述与分析:
简单题,求解回文串的最大长度。
遍历起始位置和长度即可,judge函数编写。
#include<bits/stdc++.h>
using namespace std;
bool judge(string str)
{
int len = str.size();
int flag = 1;
for(int i = 0; i < len / 2; i++)
{
if(str[i] != str[len - 1 - i])
{
flag = 0;
break;
}
}
if(flag == 0) return false;
else return true;
}
int main()
{
string str;
getline(cin, str);
int len = str.size();
int maxn = 0;
string temp;
for(int i = 0; i < len; i++)
{
for(int j = 0; j <= len - i; j++)
{
temp = str.substr(i, j);
if(judge(temp) && j > maxn) maxn = j;
}
}
cout << maxn << endl;
return 0;
}
总结:
注意j可以取到len-i。