判断一个整数是否是回文数。

版权声明:------------------------------这个世界上只有一种成功,就是按照自己想要的方式度过一生--------------------------- https://blog.csdn.net/qq_44238142/article/details/87887372

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

方法一:把这个数反转,然后判断是否和原来的数相等;

class Sloution {
    public boolean isPalindrome(int x ) {
        boolean b =false;
       // 先进行正负判断,如果是负数,那它肯定不是回文数
        if(x<0){
           return false;
        }else if(x>=0){
            //可以借鉴上一题反转整数的思想,把这个数先反转,然后判断是否相等
            int y = x;//保存x值
            int answer = 0;
            while (x != 0) {
                //    取出最后一位数
                int a = x % 10;
                //    x减少一个数位
                x /= 10;
                //把这个数加到answer的末位
                answer = answer * 10 + a;
            }
            b = answer == y;
        }
        return b;
    }
}

方法2:把数字转换成字符串,反转字符串比较

class Sloution2{
    public boolean isPalindrome(int x) {
        String s = new Integer(x).toString();
        String s2 = "";
        for (int i = s.length() - 1; i >= 0; i--) {
            char c = s.charAt(i);
            s2 += c;
        }
        return s2.equals(s);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44238142/article/details/87887372