做题

也是靠自己做上来一道自己觉得很有水平的题了,用了至少一个半小时,很有成就感嗷

一个字符串是回文串,当且仅当该字符串从前往后读和从后往前读是⼀样的,例如aabaa和ccddcc都是回⽂串, 但abcd不是。 乎乎有 n 个仅包含小写字母的字符串,他想请你编写程序判断每个字符串是否由两个长度至少为 2的回文串前后拼接而成。

#include <iostream>

#include<algorithm>

#include<string.h>

using namespace std;

int main() {

int i,j,n;

cin>>n;

for(j=0;j<n;j++){

int p=0;

string s="";

cin>>s;

for(int k=1;k<=s.length()-3;k++){

string c="";

string d="";

string e="";

string f="";

for(i=0;i<2+k-1;i++){

c+=s[i];

}

d=c;

for(int l=2+k-1;l<s.length();l++){

e+=s[l];

}

f=e;

reverse(d.begin(),d.end());

reverse(f.begin(),f.end());

if(d==c&&e==f){

cout<<"Yes"<<endl;

p=1;

break;

}

}

if(p==0)

cout<<"No"<<endl;

}

}

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务