难度:easy
题目描述
https://leetcode.com/problems/palindrome-number/description/
算法分析
首先得到x的反转数字,注意判断反转得到的数字是否在32为有符号int的范围内部,如果不在范围内,返回false,如果x是负数,返回false,最后判断x和反转后的整数是否相等即可
代码实现
class Solution {
public:
bool isPalindrome(int x) {
// 注意负数的情况,负数没有回文数字
if ( x < 0) return false;
int temp = x;
long long reverse = 0;
while (x != 0) {
reverse = reverse * 10 + x % 10;
x /= 10;
}
if (reverse > INT_MAX) return false;
if (reverse < INT_MIN) return false;
return (reverse == temp);
}
};