回文数:给定32位整数,判断是否回文,如果是返回true,否则false。

解决方式:

利用取余,余数重新合成,得到反转后的数,如果是回文,那么反转后数和原来数相同。

注意: 反转可能出现数字溢出,所以可以反转一半进行比较。

class Solution {
    public boolean isPalindrome(int x) {
        if (x < 0 || (x != 0 && x % 10 == 0)) return false;
        int s = 0;
        while (s <= x) {
            s = s * 10 + x % 10;
            if (s == x || s == x / 10) return true; //偶数和奇数两种情况
            x /= 10;
        }
        return false;
    }
}