美文网首页
9. Palindrome Number

9. Palindrome Number

作者: AThornBird | 来源:发表于2019-02-18 02:39 被阅读0次

    Example 1:
    Input: 121
    Output: true

    Example 2:
    Input: -121
    Output: false
    Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

    Example 3:
    Input: 10
    Output: false
    Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

    Follow up:
    Could you solve it without converting the integer to a string?

        public boolean isPalindrome(int x) {
            if(x < 0) {
                return false;
            }
            int res = 0;
            int y = x;
            while(y != 0) {
                res = res * 10 + y % 10;
                y /= 10;
            }
            if(res == x) {
                return true;
            } else {
                return false;
            }
        }
    }
    
    或者
    
    class Solution {
        public boolean isPalindrome(int x) {
            String s = x + "";
            int l = 0, r = s.length() - 1;
            while (l < r) {
                if (s.charAt(l) != s.charAt(r)) return false;
                l++;
                r--;
            }
            return true;
        }
    }
    

    第一个方法:
    Time Complexity = O(log(x)) 以十为底
    Space Complexity = O(1)

    相关文章

      网友评论

          本文标题:9. Palindrome Number

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