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

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

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

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);
    }
}
经验分享 程序员 微信小程序 职场和发展