题目:Determine whether an integer is a palindrome. Do this without extra space.
- 这个题目考察回文的定义
- 首先0是回文
- 负数不是回文
由上次我写的翻转整数的博客可知,该题只需判断正数情况下反转前后是否相等即可判定是否为回文。
class Solution {
public:
int reverse(int b) {
long rev=0;
while(b) {
rev = rev*10 + b%10;
b = b/10;
}
return (rev>INT_MAX||rev<INT_MIN)?0:rev;
}
bool isPalindrome(int x) {
int a = reverse(x);
if(x>=0 && a == x)
return true;
else
return false;
}
};