判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
现在,让我们来考虑如何反转后半部分的数字。 对于数字 1221,如果执行 1221 % 10,我们将得到最后一位数字 1,要得到倒数第二位数字,我们可以先通过除以 10 把最后一位数字从 1221 中移除,1221 / 10 = 122,再求出上一步结果除以10的余数,122 % 10 = 2,就可以得到倒数第二位数字。如果我们把最后一位数字乘以10,再加上倒数第二位数字,1 * 10 + 2 = 12,就得到了我们想要的反转后的数字。 如果继续这个过程,我们将得到更多位数的反转数字。
class Solution {
public:
bool isPalindrome(int x) {
if (x<0)
return false;
long long int sum =0;
long long int origin = x;
while(x)
{
int num = x %10;
x/=10;
sum = sum*10 + num; //最后一位数字乘以10,再加上倒数第二位数字
}
if(sum == origin)
return true;
else
return false;
}
};