目录
一 题目描述
二 题目分析
对于任意n位的数字,取n=5,数字95349为例
95349 % 10 => 9
95349 / 10000 => 95349 / 10^4 => 9可以看出我们可以通过模10来取其最低位,除
10^(n-1)
来取其最高位,将其最高位和最低位进行比较,便可以得出当前是否符合回文要求了。比较完最高位和最低位后,如何除掉这两位呢?
95349 % 1000 => 95349 % 10^3 = 5349
95349 / 10 = 9534
三 代码
public class Solution {
public boolean isPalindrome(int x) {
int a = x, h = 1;
if (a < 0) return false;
while (a / h >= 10) {
h = h * 10;
}
while (a > 0) {
if (a / h != a % 10) return false;
a = a % h;
a = a / 10;
h = h / 100;
}
return true;
}
}