Problem Description
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
Output
如果一个字符串是回文串,则输出"yes",否则输出"no".
Sample Input
4
level
abcde
noon
haha
Sample Output
yes
no
yes
no
程序说明
注意数组清零
代码如下:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
int n;
scanf("%d", &n);
while(n--) {
char a[100010], b[100010];
memset(b, 0, sizeof(b));
int flag = 1;
scanf("%s", a);
for(int i = strlen(a) - 1, j = 0; i >= 0; i--, j++) {
b[j] = a[i];
}
for(int i = 0; i < strlen(b); i++)
if(b[i] != a[i]) {
printf("no\n");
flag = 0;
break;
}
if(flag == 1)
printf("yes\n");
}
return 0;
}