1615:最长回文串

Description

求一个字符串的最长回文串

Input

第一行输入n

接下来n行每行每行一个字符串长度<=100000

Output

输出最长回文串的长度
Sample Input
3
abababa
aaaabaa
acacdas
Sample Output
7
5
3
HINT

不要想太多 Water

参考:https://blog.csdn.net/litianxiang_kaola/article/details/52201226
https://blog.csdn.net/qq_38735931/article/details/81665148

AC代码:

#include<vector>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=300050;

int main(){
   int t,temp;
    char s[10000];
   while(~scanf("%d",&t)){
       scanf("%s",s);
       int n=strlen(s);
       bool flag=false;
       for(int i=n;i>0;i--){
        for(int j=0;j<n-i+1;j++){
            int t=j,k=0,l=0;
            char c1[10000],c2[10000];
            while(k<i/2){
                c1[k]=s[t];
                c2[l]=s[i+j-1-k];
                k++,l++,t++;
            }
            c1[k]='\0';
            c2[l]='\0';
            if(strcmp(c1,c2)==0){
                printf("%d\n",i);
                flag=true;
                break;
            }
           }
           if(flag) break;
       }
    
    }
     return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务