Determine whether an integer is a palindrome. Do this without extra space.
首先负数不是回文数。
对于正数,求一下它倒过来的数(即个位放在最高位,十位放在次高位。。。),如果结果与原数相同,则是回文数
bool isPalindrome(int x) {
if(x<0)return false;
int temp=x;
int pn=0;
int max_inf=0x7fffffff;
while(temp){
if(pn>max_inf/10 || pn==max_inf/10&&(temp%10>max_inf%10))return false;
pn*=10;
pn+=temp%10;
temp/=10;
}
if(pn==x)return true;
return false;
}