法一:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int t;
scanf("%d", &t);
char *c = (char *)malloc(1e6);
char resWord[][4] = {"NO", "YES"};
int res = 1;
while (t--) {
res = 1;
scanf("%s", c);
int n = strlen(c);
if (n % 2) {
// 长度为奇数
res = 0;
} else {
{
// 长度为偶数
for (int i = 0; i < n / 2; i++)
if (c[i] != c[n / 2 + i]) {
res = 0;
break;
}
}
}
printf("%s\n", resWord[res]);
}
free(c);
return 0;
}
法二:
#include<stdio.h>
#include<string.h>
int main()
{
int t;
scanf("%d",&t);
char c[10000000]={0};
while(t--)
{
char res[]="YES";
scanf("%s",c);
int n=strlen(c);
if(n%2)
{strcpy(res,"NO");printf("%s\n",res);continue;}
for(int i=0;i<n/2;i++)
if(c[i]!=c[n /2+i])
{strcpy(res,"NO");break;}
printf("%s\n",res);
}
return 0;
}