题目描述
读入一串字符,判断是否是回文串。“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。输入
一行字符串,长度不超过255。输出
如果是回文串,输出“YES”,否则输出“NO”。样例输入
12321
样例输出
YES
代码如下:
#include<iostream>
#include<cstring>
using namespace std;
bool judge(char* str){
int len=strlen(str);
int i;
for(i=0;i<(len-1)/2;i++){
if(str[i]==str[len-i-1])
continue;
else
return false;
}
return true;
}
int main(){
char str[256];
cin.getline(str,256);//使用getline而非gets
if(judge(str))
cout<<"YES";
else
cout<<"NO";
return 0;
}
开始时,我使用了gets(str)的方式读取字符串,但是在codeup中显示编译错误,提示我需要引用对应的头文件,但是引用了cstring或者string.h仍然编译失败。在网上搜了一下,可能是codeup的编译器和PAT一样已经不支持gets了,故而使用cin.getline,解决。