1. 题目

Determine whether an integer is a palindrome. Do this without extra space.

2. 思路

反转后和自身比较是否相等。不需要考虑溢出,因为如果是回文就不会溢出。如果溢出一定不是。

3. 代码

class Solution {
public:
    bool isPalindrome(int x) {
        return x == reverse(x);
    }
    int reverse(int x) {
        int flag = 1;
        int ax = x;
        if (x<0) {
            ax = -x;
        }
        int r = 0;
        while (ax > 0) {
            r = r * 10 + ax % 10;
            ax /= 10;
        }
        return r * flag;
    }
};

knzeus
72 声望28 粉丝

行万里路,读万卷书