题目描述
Determine whether an integer is a palindrome. Do this without extra space.
Some hints:
判断一个数是否是回文数,且不使用额外的空间。
Could negative integers be palindromes? (ie, -1)
If you are thinking of converting the integer to string, note the restriction of using extra space.
You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How would you handle such case?
There is a more generic way of solving this problem.
一些提示:
负数是回文数吗?
如果你正在考虑的整数转换为字符串,请注意使用额外空间的限制。
您也可以尝试逆转一个整数。但是,如果你已经解决了这个问题“逆转整数”,你会知道逆转整数有溢出可能。你将会如何处理这种情况?
找出一个更为通用的办法。
解题思路
将数除10,求得余数,然后将每次的得到的余数加上临时和*10即为反转数,比较是否相等。
代码
public boolean isPalindrome(int x) {
int temp = x,y = 0;
while(temp > 0){
y = y*10 + temp%10;
temp /= 10;
}
if(y==x){
return true;
} else {
return false;
}
}