HDU_oj_2029 Palindromes _easy version(回文串)

Problem Description
 
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
 
Input
输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
 
Output
如果一个字符串是回文串,则输出"yes",否则输出"no".
 
Sample Input
4
level
abcde
noon
haha
 
Sample Output
yes
no
yes
no
 
分析:
两个指针,分别指向字符串两端,从两端向中间遍历,依次判断是否相同,直到指针指向中间,遍历结束
注意点:
 
 1 #include<iostream>
 2 #include<cstring>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     int n,m,len;
 8     char *pf,*pl,s[50];
 9     cin>>n;
10     while(n--)
11     {
12         cin>>s;
13         len=strlen(s);
14         pf=pl=s;
15         pl += (len-1);
16         m=1;
17         while(m<len/2)
18         {
19             if(*pf != *pl)
20             {
21                 cout<<"no"<<endl;
22                 break;
23             }
24             pf++;pl--;m++;
25         }
26         if(m==len/2)
27         cout<<"yes"<<endl;
28     }
29 }

 

posted @ 2017-12-06 21:53  T丶jl  阅读(159)  评论(0)    收藏  举报