思路:将数字进行对半分割,再进行比较
class Solution {
public boolean isPalindrome(int x) {
//当x小于零或者当x为非零数时个位是零时不是回文数
if(x < 0 || x % 10 == 0 && x != 0){
return false;
}
int reverNumber = 0;
while(x>reverNumber){
//将reverNumber*10+x%10:将最后半部分顺序翻转。
//如:1221:的后半部分“21”变成“12”
reverNumber = reverNumber*10+x%10;
x /=10;
}
//表示偶数时的情况和奇数位时的情况
//遇到奇数位的数字时如:121,可以“reverNumber/10”除去“2”
return x == reverNumber || x == reverNumber / 10;
}
}
10-25
74
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountBlack.png)
10-08
11-04
160
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountBlack.png)