7-6 最长对称子串 (25 分)——天梯赛分类练习-1

对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?,最长对称子串为s PAT&TAP s,于是你应该输出11。

输入格式:

输入在一行中给出长度不超过1000的非空字符串。

输出格式:

在一行中输出最长对称子串的长度。

样例:">输入样例:

Is PAT&TAP symmetric?

输出样例:

11

AC代码:

#include <iostream>
#include <string>
#include<algorithm>
using namespace std;
int main() {
     string str,r;
    string a[10000];
    getline(cin,str);
    int l=str.size();
    int max=0;
    for(int i=0;i<l;i++){
        for(int j=0;j<=i;j++){
            a[j]+=str[i];
            r=a[j];
            reverse(r.begin(),r.end());
            if(r==a[j]&&max<r.size()){
                max=r.size();
            }
        }
    }
    cout<<max;
    return 0;
}

上一篇:IDEA学习记录25--论坛实战(朴实版)


下一篇:6-4 函数重载