zoukankan      html  css  js  c++  java
  • 9. Palindrome Number

    Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

    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:

    Coud you solve it without converting the integer to a string?

    M1: 转换成string

    time: O(n), space: O(n)

    class Solution {
        public boolean isPalindrome(int x) {
            String s = Integer.toString(x);
            int i = 0, j = s.length() - 1;
            while(i <= j) {
                if(s.charAt(i) != s.charAt(j))
                    return false;
                i++;
                j--;
            }
            return true;
        }
    }

    M2: 把x反转过来rev,最后如果x=rev,说明是palindrome

    time: O(length of x), space: O(1)

    class Solution {
        public boolean isPalindrome(int x) {
            if(x < 0) return false;
            int rev = 0;
            int xx = x;
            while(xx > 0) {
                rev = rev * 10 + xx % 10;
                xx /= 10;
            }
            return x == rev;
        }
    }
  • 相关阅读:
    java
    java
    android-studio于java相关
    转-Cannot refer to an instance field arg while explicitly invoking a constructor
    java
    java
    hdoj 1251 统计难题(字典树)
    hdoj 3555 Bomb(DFA+dp)
    hdoj 1247 Hat’s Words(字典树)
    poj 1204 Word Puzzles(字典树)
  • 原文地址:https://www.cnblogs.com/fatttcat/p/10133225.html
Copyright © 2011-2022 走看看