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