题目
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 :
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
注意点
计算新div时一定要除以100,因为减少了两位(最高位和最低位)。
实现
public boolean isPalindrome(int x) {
//负数直接返回不是
if(x < 0) return false;
int div = 1;
//获取x的最高位的单位(x = 1234,则div = 1000)
while( x / div >= 10){
div *= 10;
}
while(x > 0){
int left = x / div; //获取x最左一位的值
int right = x % 10; //获取x最右一位的值
if(left != right) return false;
//计算新的x的div
x = x % div;
x = x / 10;
div /= 100;
}
return true;
}