思路1:转换为字符串,遍历一半字符串
思路2:不转换为字符串,按下面这个思路并排除一些特殊情况
public boolean isPalindrome(int x) {
String str = String.valueOf(x);
for (int i = 0; i < str.length() / 2; i++) {
int j = str.length() - 1 - i;
if (str.charAt(i) != str.charAt(j)) {
return false;
}
}
return true;
}
public boolean isPalindrome(int x) {
if (x < 0) {
return false;
}
if (x < 10) {
return true;
}
if (x == 10) {
return false;
}
int y = 0;
while (true) {
y = y * 10 + x % 10;
if (y == 0) {
return false;
}
x = x / 10;
if ((x == y) || (x > y && x / 10 == y)) {
return true;
}
if (x < y) {
return false;
}
}
}