本方法相较于直接对整数进行翻转来说就行了改进,只需要反转原数一半的位数,例如123321,只需反转后三位即可后
bool isPalindrome(int x) {
int temp=0;
if(x<0||(x%10==0 && x!=0))//剔除负数和末尾数字为0的数
return false;
while(temp<x)
{
temp=temp*10+x%10;
x/=10;
}
return x==temp||x==temp/10;//当整数有奇数个数字组成时,需要temp/10,例如121
}