回文数

2018-11-25  本文已影响0人  蓝天白云_Sam

回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

思路

如果x是回文数,有:
1.如果x的位数是双数,那么while(x > half)结束条件是x == half
2.如果x的位数是单数,那么while(x > half)结束条件是x < halfhaft/10==x

class Solution {
public:
     bool isPalindrome(int x) {
        if(x < 0 || (x%10 == 0 && x != 0))
            return false;
        int half = 0;
        while(x > half){
            half = half*10 + x%10;
            x /= 10;
        }
        return x == half || x == half/10;
    }
};
上一篇 下一篇

猜你喜欢

热点阅读