PAT (Advanced Level) 1040 Longest Symmetric String (25 分)

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。

上一篇:mysql 1040 too many connections,压测接口500提示数据库连接到达上限解决方案


下一篇:PAT (Advanced Level) Practice 1040 Longest Symmetric String (25 分) 凌宸1642