解法一题目链接:点击直达
首先题目已经说明负数不是回文数,先去掉负数的情况,把数转化成字符串,反转一下字符串,判断是否相等。
代码如下:
class Solution {
public:
bool isPalindrome(int x) {
if(x < 0) return false;
string s = to_string(x);
return s == string(s.rbegin(),s.rend());
}
};
解法二
可以利用第7题的方法,整数反转,判断是否和原来的数相等。不同的是这道题不用判断是否出边界的情况。
代码如下:
class Solution {
public:
bool isPalindrome(int x) {
long long r = 0;
int y = x;
while(x)
{
r = r * 10 + x % 10;
x /= 10;
}
return y == r;
}
};
还是很简单的一道题。



