一道面试题(有点意思)
判断一个数是否是回数(不能使用数组),例如123321是一个回数,但是123123就不是,要求速度越快越好
2012-02-03 15:40
2012-02-03 15:57
2012-02-03 16:11
程序代码:int isPalindrome(int number)
{
int a, t;
for(t = number, a = 0; t; t /= 10)
{
a *= 10;
a += t % 10;
}
return number == a;
}

2012-02-03 16:17
2012-02-03 16:18
2012-02-03 16:46
2012-02-03 17:15
2012-02-03 17:22
2012-02-03 17:28
程序代码:int isPalindrome(int number)
{
int a, t, n;
for(t = number, a = n = 0; t; n++, t /= 10)
{
a *= 10;
a += t % 10;
}
return !(n & 1) && number == a && n; //最后的n是为了判断number == 0的情况,也可以换成a或number
}

2012-02-03 17:38