Determine whether an integer is a palindrome. Do this without extra space.
注意:不要使用额外的空间。
判断一个字符串或者一个整数是不是回文,简单的办法就是,将其反转,然后与原来的数对比,如果相同则是,否则不是。这道题本质是字符串或者整数的反转问题,有几点需要注意:
1、常识:只能称作常识了,负数不是回文数;
2、注意溢出问题,所以经常使用long类型来做辅助;
3、一般可以使用栈来进行反转,但肯定要消耗空间;
4、总体较为简单。
我的代码如下:
public boolean isPalindrome(int x) {
if(x < 0)
return false;
long num = x;
long res = 0;
while(num != 0){
res = res * 10 + (num % 10);
num = num / 10;
}
if(res > Integer.MAX_VALUE)
return false;
if((int)res == x)
return true;
return false;
}