判断一个数是否为回文数字,如1,2,3,121,1001,999都是回文数字,10,9898就不是回文数字。
解法:判断对称中心两端数字是否相同。
代码如下:
bool isPalindrome(int x)
{
if (x<0 || (x != 0 && x % 10 == 0)) return false;
int sum = 0;
while (x>sum)
{
sum = sum * 10 + x % 10;
x = x / 10;
}
return (x == sum) || (x == sum / 10);
}