很经典的题目,这里贴出一个简单地通用思路。
考虑折半这个串,比较折半后的两个串是否相等即可。
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;
}
};