判断一个字符串是不是回文数

问题描述:判断一个字符串是不是回文数,比如abcdcba和abccba就是回文数。

代码:

 1 #include
  2 #include
  3
  4 #define MAX_SIZE 100
  5
  6 bool IsLoopString(char* str)
  7 {
  8     if(str==NULL) return false;
  9     int length=strlen(str);
 10     if(str[length-1]=='\n') length--;
 11     int start=0,end=length-1;
 12     while(start  13     {
 14         if(str[start++]!=str[end--]) return false;
 15     }
 16     return true;
 17 }
 18 int main(int argc,char *argv)
 19 {
 20     char str[MAX_SIZE];
 21     while(true)
 22     {
 23         char *ptr=fgets(str,MAX_SIZE,stdin);
 24         if(IsLoopString(ptr))
 25             printf("YES\n");
 26         else
 27             printf("NO\n");
 28     }
 29     return 0;
 30 }

Output:

[root@localhost Test]# ./a.out
abcdcba
YES
abccba
YES
abc cba
YES
abc\\0\\cba
YES
abc\00\cba
YES
abc\nn\cba
YES
abc\n\cba
YES

你可能感兴趣的:(一日一算法)