JAVA解答 :
class Solution {
public boolean isPalindrome(int x) {
//思路://如果是负数的话肯定不是回文数了,如果末尾数字是0 也不是回文数
if( x < 0 || ( x % 10 == 0 && x != 0 ) ){
return false;
}
//反转一半,进行比较
int reverseNumber = 0;
while( x > reverseNumber ){
reverseNumber = reverseNumber * 10 + x % 10;
x /= 10; //x=x/10 即此时的x除以10 ,比如原本x=1221,除以10 之后 x=122
}
//此时还应该考虑一个问题,那就是长度是奇数的话怎么处理
//比如12321,那么reverseNmuber = 123,此时x= 12, 3 永远等于本身,所以我们去除反转之后的末位数就可以
return x == reverseNumber || x == reverseNumber / 10;
}
}