首先:排除负数整体
循环{
1.设法得到input最左端数值
2.设法得到input最右端数值
3.对比
4.设法去除已经对比过的两个值
}
下面是代码:
class Solution {
public boolean isPalindrome(int x) {
//根据提示,发现负数不可能是回形数
if(x < 0) return false;
//设置div参数,为了得到input最左端的数值
int div = 1;
while(x / div >= 10){
div *= 10;
}
while(x != 0){
int left = x / div;
//得到input最右端的数值
int right = x % 10;
//判断最左端和最右端是不是相等
if(left != right) return false;
//去掉已经判断过的两个值
x = (x % div) / 10;
//相应div参数减去两位
div /= 100;
}
return true;
}
}