判断回文数

就是字面意思,负数不算回文数。但可能是我的英语太差,所以看到 "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;
}

 

posted @ 2015-08-26 08:30  wu_overflow  阅读(170)  评论(0编辑  收藏  举报