题目:Determine whether an integer is a palindrome. Do this without extra space
正确代码
bool isPalindrome(int x) {
if(x < 0) return false;
int len=log10(x);
while(len>0)
{
if(x%10!=(int)(x/pow(10,len))%10)
return false;
x/=10;
len-=2;
}
return true;
}
初始代码
bool isPalindrome(int x) {
if(x < 0) return false;
int len=log10(x);
while(len>0)
{
if(x%10!=(int)(x/pow(10,len)))
return false;
x=x-x/pow(10,len)*pow(10,len);
x/=10;
len-=2;
}
return true;
}
测试用例100021出错,第一次执行x=x-x/pow(10,len)*pow(10,len)后x变为21,中间的0没了。。。