Palindromes _easy version
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 16932 Accepted Submission(s): 10643
Problem Description
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
Output
如果一个字符串是回文串,则输出"yes",否则输出"no".
Sample Input
4
level
abcde
noon
haha
Sample Output
yes
no
yes
no
这是一道很水的题,用之前在《accelerated c++》学的判断回文的方法立即秒杀:
#include<iostream>
#include<string>
using namespace std;
bool is_palindrome(const string s){
return equal(s.begin(),s.end(),s.rbegin());
}
int main(){
int n;
cin>>n;
while(n--){
string s;
cin>>s;
if(is_palindrome(s))
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return ;
}
另外这个代码这也可以过,只不过在visual6.0上却编译不了,在dec c++上可以,方法也很简单:
#include<iostream>
#include<string>
using namespace std;
int main(){
int n;
cin>>n;
while(n--){
string s1;
cin>>s1;
string s2(s1.rbegin(),s1.rend());
if(s1==s2)
cout<<"yes"<<endl;
else
cout<<"no"<<endl; }
return ;
}