美文网首页
leetcode 9. 回文数

leetcode 9. 回文数

作者: Source_Chang | 来源:发表于2020-11-02 16:29 被阅读0次

    leetcode

    1,O(n)
    C++:

    class Solution {
    public:
        bool isPalindrome(int x) {
    
            if ( x < 0 ) {
    
                return false;
            }
    
            std::vector<int> numbers;
            int rest = x;
            while ( rest ) {
    
                int number = rest % 10;
                numbers.push_back(number);
                rest = rest / 10;
            }
    
            int i = 0;
            int j = numbers.size() - 1;
            while ( i < j ) {
    
                if ( numbers[i] != numbers[j] ) {
    
                    return false;
                }
    
                ++i;
                --j;
            }
    
            return true;
        }
    };
    

    1,O(1)
    C++:

    class Solution {
    public:
        bool isPalindrome(int x) {
    
            if ( x < 0 || ( x % 10 == 0 && x != 0 ) ) {
    
                return false;
            }
    
            int reversedNumber = 0;
            while ( x > reversedNumber ) {
    
                reversedNumber = reversedNumber * 10 + x % 10;
                x /= 10;
            }
    
            return ( x == reversedNumber || x == reversedNumber / 10 );
        }
    };
    

    相关文章

      网友评论

          本文标题:leetcode 9. 回文数

          本文链接:https://www.haomeiwen.com/subject/kwtuvktx.html