描述
在不使用额外的内存空间的条件下判断一个整数是否是回文数字
提示:负整数可以是回文吗?(比如-1)
如果你在考虑将数字转化为字符串的话,请注意一下不能使用额外空间的限制你可以将整数翻转。但是,如果你做过题目“反转数字”,你会知道将整数翻转可能会出现溢出的情况,你怎么处理这个问题?
示例1
输入:121
返回值:true
分析
每次求数的10的余数,从而获得个位上的数,将这些数反向凑成一个整数,判断翻转后的数和原来的数是否相等
代码:
import java.util.*;
public class Solution {
public boolean isPalindrome (int x) {
int rever = 0;
int num = x;
int last ;
while(x > 0){
last = x % 10;//获得个位上的数
rever = rever * 10 + last;//反向拼凑一个整数
x /= 10;//跟新原数的大小
}
return rever == num;
}
}