判断是否为回文

来源:互联网 发布:动画师生存手册 知乎 编辑:程序博客网 时间:2024/05/18 09:01

参考:http://topic.csdn.net/t/20040829/14/3319956.html

            http://topic.csdn.net/u/20100919/11/2856eebe-59fe-458b-90a6-8d29f4516302.html

            http://blog.csdn.net/moonriver521/article/details/7610635

           http://luisliu.blog.51cto.com/883990/229783

如果是数字 一种方法的做法是求余运算(%)然后经行比较;另一种做法是把数字格式化成字符串然后经行比较。

关于数字

bool isPalindrome(int num){    int pal = 0;    int origin = num;    while(num)    {        pal *= 10;        pal += num % 10;        num /= 10;    }    return pal == origin;}

格式化数字到字符串

sprintf(buf, "%ld ",val)


关于字符串

for (int i = 0; i < str_half_length + 1; ++i)    {        if (str[i] != str[str_length - i - 1])        {            return 1;        }    }
另一种方法

int IsRound(char *str,int len) {   if(*str==*(str+len-1))     return IsRound(str+1,len-2);   if(len<=1)     return 1;   else        return 0;     }