给你一个整数?x
?,如果?x
?是一个回文整数,返回?true
?;否则,返回?false
?。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
121
?是回文,而?123
?不是。回文数的特点是对称,故负数一定不是回文数,0是回文数,定义一个long int 整形变量y和一个暂时存放x值的temp,进入循环,每次用temp%10取出最低位数字加上y*10,当temp为0时跳出循环,对比y和x的值。
其中定义long int整型变量存放翻转的数字是为了防止溢出。
int isPalindrome(int x)
{
if (x < 0)
{
return 0;
}
if(x==0)
{
return 1;
}
long int y = 0;
int temp = x;
while (temp != 0)
{
y = y * 10 + temp % 10;
temp = temp / 10;
}
return y == x;
}
?