如果要求判断的数为0,直接返回true;
如果该数为负数或最后一位为0,直接返回false;
其余情况,将该数从低位到高位,依次将每一位的数字按顺序存放在数组中,再从两头依次比较,直到有数字不同或比较到中间为止,有不同则返回false,否则返回true
//C语言
bool isPalindrome(int x) {
int temp = x, i;
int m[10];
bool n = true;
for(int j = 0; j < 10; j++)
m[j] = -1;
if(x == 0)
return n;
else if(x < 0 || 0 == x % 10){
n = false;
return n;
}else{
for(int j = 0; temp > 0; j++)
{
m[j] = temp % 10;
temp /= 10;
}
for(i = 0; i <= 9 && -1 != m[i]; i++)
;
for(int j = 0; j < i / 2; j++)
if(m[j] != m[i-j-1])
n = false;
return n;
}
}