public class Solution {
public bool IsPalindrome(int x) {
if(x < 0){
return false;
}
if(x == 1){
return true;
}
// first loop , to know how many digit
var digits = 0;
var n = x;
while(n != 0){
n/=10;
digits++;
}
int n1 = x; // digits from left to right
int n2 = x; // digits from right to left
for(var i = 1;i <= digits/2; i++){
var p = Math.Pow(10, digits-i);
int x1 = n1 % 10;
int x2 = (int) (n2 / p);
if(x1 != x2){
return false;
}
n1 /= 10;
n2 -= (int)(x2 * p);
}
return true;
}
}原文:http://blog.csdn.net/lan_liang/article/details/50144807