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关系运算符
    初识JAVA
    Java变量
    CSS
    HTML表单
    Dao层步骤
    JDBC
    集合框架
    使用log4j
  • 原文地址:https://www.cnblogs.com/fatttcat/p/10133225.html
Copyright © 2011-2022 走看看