bool isPalindrome(int x) {
int temp, temp1;
temp = 1e+9;
bool flag = true;
if(x < 0)
return false;
if(x < 10)
return true;
while(temp)
{
if(x / temp)
{
temp1 = 100;
if((x / temp) != (x % 10))
{
flag = false;
break;
}
else
{
x = (x - x / temp * temp) / 10;
}
}
else
{
temp1 = 10;
}
temp = temp / temp1;
if(flag == false)
break;
}
if(flag == true)
{
if(x > 10)
{
if((x / 10) != (x % 10))
{
flag = false;
}
}
}
return flag;
int temp, temp1;
temp = 1e+9;
bool flag = true;
if(x < 0)
return false;
if(x < 10)
return true;
while(temp)
{
if(x / temp)
{
temp1 = 100;
if((x / temp) != (x % 10))
{
flag = false;
break;
}
else
{
x = (x - x / temp * temp) / 10;
}
}
else
{
temp1 = 10;
}
temp = temp / temp1;
if(flag == false)
break;
}
if(flag == true)
{
if(x > 10)
{
if((x / 10) != (x % 10))
{
flag = false;
}
}
}
return flag;
}
right answer:
bool isPalindrome(int x) {
int y,temp;
if(x < 0)
return false;
if(x <10)
return true;
temp = x;
y = 0;
do{
y = y*10 + x%10;
x = x/10;
}while(x);
return (y == temp) ? true:false;
}