题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
题解:
反转一半数字,避免溢出。
class Solution
{
public:
bool isPalindrome(int x)
{ if (x < 0 || x !=0 && x%10==0 )return false; //小于0 或者末尾为0 返回false
int rev = 0;
while(rev <= x ){
rev = rev * 10 + x % 10;
if(rev == x || rev == x / 10)return true; // 若为奇数再除以10
x /= 10 ; //比较一半的数字 将原始数字除以10,rev *10,
}
return false;
}
};
~