9. Palindrome Number
- Total Accepted: 134367
- Total Submissions: 414085
- Difficulty: Easy
Determine whether an integer is a palindrome. Do this without extra space.
求回文数的问题
解法1. 数的最高位最低位向中间比较
class Solution {
public:
bool isPalindrome(long long x) {
if(x < 0) return false;
long long n = x;
int cnt = 0;
long long mod = 1;
while(n != 0){
n /= 10;
mod *= 10;
cnt++;
}
cnt /= 2;
long long m = 1;
while(cnt--){
if(x%mod/(mod/10) != x%(m*10)/m)
return false;
mod /= 10;
m *= 10;
}
return true;
}
};
Runtime:
84 ms
解法2:算出逆序的数,在比较
class Solution {
public:
bool isPalindrome(long long x) {
long n = x;
long m = 0;
if(x < 0) return false;
while(n != 0){
m = m*10 + n%10;
n /= 10;
}
return x == m;
}
};