2182 - P510 4
时间限制 : 1 秒
内存限制 : 128 MB
P510 4
题目输入
一行字符串,可以有空格
题目输出
字符串反向后的结果(去除空格,所有字母用小写表示)
yes表示是回文,no表示不是回文
输入/输出样例
输入格式
madam I'm adam
输出格式
madamimadam yes
C++解答
#include<iostream> #include<cstring> using namespace std; char ch(char st,int &i) { if(st>='A'&&st<='Z') return st+('a'-'A'); else return st; } int main() { char st[100010],after[100010],o=0; gets(st); int len=strlen(st); for(int i=0;i<len;i++) after[i]=ch(st[i],i); for(int i=len-1;i>=0;i--) { if(after[i]>='a'&&after[i]<='z') cout << after[i]; } cout << endl; bool z=1; int j=0,k=len-1; for( ;j<k;j++,k--) { if(after[j]<'a'||after[j]>'z') { k++; continue; } if(after[k]<'a'||after[k]>'z') { j--; continue; } if(after[j]!=after[k]) { z=0; break; } } if(z==0) cout << "no" << endl; else cout << "yes" << endl; return 0; }