判断一个整数是否是回文数。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
方法一:把这个数反转,然后判断是否和原来的数相等;
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); } }