题目链接
解法
一、字符串翻转操作
最简单直接的做法,就是把原字符串翻转一下进行比对,但速度稍慢。代码如下:
class Solution {
public:
bool isPalindrome(int x) {
string s = to_string(x);
return s == string(s.rbegin(), s.rend());
}
};
二、数学方法
在数学上将原数字倒过来比对,速度更快。
class Solution {
public:
bool isPalindrome(int x) {
if (x < 0) return false;//负数必然不回文
long long y = 0, i = x;
while (i) {
y = y * 10 + i % 10;
i /= 10;
}
return x == y;
}
};