题目
题目就一句话,判断一个数是不是回文数,且不占用额外内存空间。回文数就是顺过来和反过来是一样的。
解答
这题解答也简单,常规的做法就是将数字颠倒看是不是和原来的数相等。但是问题来了,如果这样直接判断的话,-101、-1001等都是回文数。但是在LeetCode的检测机制里并不把这些当做是回文数。因此最后判断的加一个条件。代码很简单:
public class Solution {
public boolean isPalindrome(int x) {
int tmp=0,temp=x;
while(x!=0){
//做一下处理得到反过来的数
tmp=tmp*10+x%10;
x=x/10;
}
if(tmp==temp&&temp>=0){
return true;
}
else return false;
}
}