先用转字符串解决:
public static boolean isPalindrome(int x) {
boolean flag=false;
if (x>=0){
String s=String.valueOf(x);
for (int i=0;i<=(s.length()/2);i++){
if (s.charAt(i)==s.charAt(s.length()-1-i)){
flag=true;
}else {
flag=false;
break;
}
}
}
return flag;
}
如果不用字符串,那么就需要对比各位的数字,得到各位的数字并不难只需要取法和取余就行,难的是如何判断总体的位数。想了许久也没想到。之后看了下官方的做法。
其中当原始数字小于反转后的数字时,就意味着处理了一半位数的数字。很巧妙。