回文数:给定32位整数,判断是否回文,如果是返回true,否则false。
解决方式:
利用取余,余数重新合成,得到反转后的数,如果是回文,那么反转后数和原来数相同。
注意: 反转可能出现数字溢出,所以可以反转一半进行比较。
class Solution {
public boolean isPalindrome(int x) {
if (x < 0 || (x != 0 && x % 10 == 0)) return false;
int s = 0;
while (s <= x) {
s = s * 10 + x % 10;
if (s == x || s == x / 10) return true; //偶数和奇数两种情况
x /= 10;
}
return false;
}
}