009. 回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 ture ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
链接:https://leetcode-cn.com/problems/palindrome-number

①如果x为负数,则一定不是回文数
②如果x为零,一定是回文数
③如果x为正数,则按部就班计算x的逆序数,判断x是否与其逆序数相等即可。注意溢出的情况,所以这里res设置成为了long类型。

class Solution {
    public boolean isPalindrome(int x) {
        if(x<0) return false;//负数一定不是回文数
        if(x==0) return true;//零是回文数
        long res=0; //long类型防止溢出
        int p=x;
        while(p!=0){//求x的逆序数
            res=res*10+p%10;
            p/=10;
        }
        return x==res;//判断x和其逆序数是否一致
    }
}

你可能感兴趣的:(009. 回文数)