PAT (Advanced Level) 1040 Longest Symmetric String (25 分)
作者:互联网
题目概述与分析:
简单题,求解回文串的最大长度。
遍历起始位置和长度即可,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。
标签:25,1040,PAT,int,len,flag,maxn,str,judge 来源: https://blog.csdn.net/weixin_40986490/article/details/116501847