其他分享
首页 > 其他分享> > 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。

标签:25,1040,PAT,int,len,flag,maxn,str,judge
来源: https://blog.csdn.net/weixin_40986490/article/details/116501847