判断回文数
就是字面意思,负数不算回文数。但可能是我的英语太差,所以看到 "Do this without extra space." 的时候,觉得是不能用其他的变量,因为要往栈上分配空间。
所以觉得好难,以为要从回文数的数学性质入手,因此看了一些资料仍觉无从下手。
直到看到了一些 Accepted 的解决方案……卧槽。
bool isPalindrome(int x) {
if (x == 0){
return true;
}
if (x < 0 || x % 10 == 0){
return false;
}
int originX = x;
int reversedX = 0;
while (x != 0){
reversedX = reversedX * 10 + x % 10;
x /= 10;
}
return reversedX == originX;
}