这道题目的思想是将x中每一位每一位取出来反向乘以10相加,与原来的数字相比较,但是这样可能会造成溢出,所以我们取x中的后n - 1位,然后比较后n - 1位反向组成的数字与x / 10是否相等 && x中的最后一位和第一位是否相等,代码如下:
public class Solution {
public boolean isPalindrome(int x) {
if (x < 0) return false;
int p = x;
int q = 0;
while (p >= 10){
q *=10;
q += p%10;
p /=10;
}
return q == x / 10 && p == x % 10;
}
}
知识点:
1. 避免溢出的Palindrome Number检测方法,这种方法要记录一下