问题描述
一串字符如果从左读和从右读完全相同,称之为回文。请判断键盘输入的一串字符(不超过1000位),是否是回文。是,则输出YES,否则输出NO。
分析:
从最前第一个和最后一字符进行比较,依次比较。
代码
#include <iostream>
using namespace std;
int main(){
char st[1001]; //用字符数组表示字符串
int i=0,n=0;
while( (st[n]=getchar())!='\n')
n++;
n--;
while(st[i]==st[n-i]) i++;
if(i>n/2) cout<<"YES";//为什么是n/2
else cout<<"NO";
return 0;
}