题目

知识点
to_string


题解
转换为字符串
利用 std::string s = std::to_string(x);
末位数是0也不是回文数
cpp
class Solution {
public:
bool isPalindrome(int x) {
if(x<0 || (x!=0 && x%10==0)) return false;
int i=0;
std::string s = std::to_string(x);
int n=s.size();
while(i<n/2){
if(s[0+i] != s[n-1-i]) return false;
i++;
}
return true;
}
};
不转换为字符串

数据反转可能导致数据溢出

cpp
bool isPalindrome(int x) {
if (x < 0 || (x % 10 == 0 && x != 0))
return false;
int rev = 0;
while (x > rev) {
rev = rev * 10 + x % 10;
x = x / 10;
}
return x == rev || x == rev / 10;
}