Problem Description
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
Output
如果一个字符串是回文串,则输出"yes",否则输出"no".
Sample Input
4
level
abcde
noon
haha
Sample Output
yes
no
yes
no
code:
1 #include<iostream>
2 using namespace std;
3
4 int main(){
5 int n,i,j,k;
6 int l;
7 string s;
8 cin >> n;
9 while(n--)
10 {
11 cin >> s;
12 l = s.length();
13 for(i=0,j=l-1;(i!=j)&&((j-i)!=1);i++,j--)
14 {
15 if(s[i]!=s[j])
16 break;
17 }
18 if(i==j||(j-i)==1)
19 cout << "yes";
20 else
21 cout << "no";
22 cout <<endl;
23 }
24 return 0;
25 }