两个思路 1. 变成字符串然后进行双指针检查 2. 颠倒数字查看和原数字是否相等。简单题,没啥好说的
ans1
class Solution {
public boolean isPalindrome(int x) {
String s = Integer.toString(x);
int start = 0;
int end = s.length() - 1;
// 字符串双指针
while(start <= end) {
if (s.charAt(start) != s.charAt(end)) return false;
start ++;
end --;
}
return true;
}
}
ans2
class Solution {
public boolean isPalindrome(int x) {
int y = x;
// 重新构造整数
int n = 0;
while(x > 0) {
// 最后一位
int digit = x % 10;
n = digit + 10 * n;
x /= 10;
}
return n == y;
}
}
Q.E.D.