时间限制:1s内存限制:128M
题目描述
【题目描述】
给出一个长为N的字符串S。如果字符串是由某个字符串重复两次形成的,就称为“回声串”。
例如,字符串"abcabc"是回声串,因为它是由"abc"重复两次形成的;而"abcadc"不是回声串。
判断字符串S是否是回声串。
输入格式
第1行,1个正整数N
第2行,1个字符串S
输出格式
若S是回声串,输出"Yes";若不是,输出"No"。
输入样例#1
输入#1
6
abcabc
输出样例#1
输出#1
Yes
输入样例#2
输入#2
6
abcadc
输出样例#2
输出#2
No
说明/提示
1≤N≤100
S长度为N,只包含小写英文字母。
———————————————————————————————————————————
#include<bits/stdc++.h>
using namespace std;
string s,a,b;
int n;
int main()
{
cin>>n>>s;
if(n%2==1)//判断字符串的长度,若是奇数则不是回声字符串 例:aqaaqaa 分开后:aqa aqaa
{
cout<<"No"<<endl;
return 0;
}
a=s.substr(0,n/2);//a是字符串S的前一半
b=s.substr(n/2,n/2);//b是字符串S的后一半
if(a==b)
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
return 0;
}