C判断一个数是否是回文数
int getlen(int x)
{
int i;
i = 0;
while(x/10>0)
{
x= x/10;
i++;
}
i += 1;
return i;
}
bool isPalindrome(int x){
if(x<0)
return false;
else
{
int len;
len = getlen(x);
//printf("%d", len);
if(len % 2 == 0)
{
int i;
int rev;
rev = 0;
int pop;
for(i=0;i<len/2; i++)
{
pop = x % 10;
x = x/10;
rev = rev * 10 + pop;
}
//printf("%d,%d", x,rev);
if(rev == x)
return true;
}
if(len % 2 == 1)
{
int i;
int rev;
rev = 0;
int pop;
for(i=0;i<len/2; i++)
{
pop = x % 10;
x = x/10;
rev = rev * 10 + pop;
}
// printf("%d, %d", x/10,rev);
if(rev == x/10)
return true;
}
return false;
}
}
今天又把这道题拿C写了一遍,C更加注重的基本思想,python还是更加依赖与库的调用。本来想着将整数转化为字符串整理,但这样拿C语言写就是多此一举。amazing!