题目描述
在不使用额外的内存空间的条件下判断一个整数是否是回文
提示:
负整数可以是回文吗?(比如-1)
如果你在考虑将数字转化为字符串的话,请注意一下不能使用额外空间的限制
你可以将整数翻转。但是,如果你做过题目“Reverse Integer”,你会知道将整数翻转可能会出现溢出的情况,你怎么处理这个问题?
这道题有更具普遍性的解法。
public boolean isPalindrome (int x) {
//对该数字进行反转
int reversal=0;
int xx=x;//保存x的原始值
int i=1;
while(x>0){//将x的值进行反转,再用反转值与其比较
reversal = reversal*10+x%10;
x=x/10;
}
//注意:xx只有一位时(例xx=2,xx=0),为回文
// xx<0时,不是回文
if((xx == reversal || xx/10==0)&& xx>=0){
return true;
}else{
return false;
}
}