您的位置:首页 > 职场人生

LeetCode 9: Palindrome Number

2016-07-16 14:33 423 查看


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;

}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息