传送门→

很经典的题目,这里贴出一个简单地通用思路。

考虑折半这个串,比较折半后的两个串是否相等即可。

class Solution {
public:
    bool isPalindrome(int x) {
        if(x < 0 || (x % 10 == 0 && x != 0))
            return false;
        
        int p = 0;

        while(x > p)
        {
            p = p * 10 + x % 10;
            x /= 10;
        }

        return x == p || x == p / 10;
    }
};