LeetCode 9: Palindrome Number

来源:互联网 发布:优畅网络正规吗 编辑:程序博客网 时间:2024/06/08 12:38

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;            }};



0 0
原创粉丝点击