zoukankan      html  css  js  c++  java
  • LeetCode之Easy篇 ——(9)Palindrome Number

    Determine whether an integer is a palindrome. Do this without extra space.

    思路一:颠倒整数,再比较。

    import static java.lang.Math.abs;
    class Solution {
        public boolean isPalindrome(int x) {
            int num = x;
            int res = 0;
            if(x<0){
                return false;
            }else{
                while(x!=0){
                    if(abs(res) < Integer.MAX_VALUE / 10){
                            res = res * 10 + x % 10;
                            x /= 10;
                    }else{
                        return false;//若翻转之后越界,肯定不是回文数。(输入值合法,翻转之后不合法,怎么可能相等!)
                    }
                }
                return (res == num);   
            }
        }
    }
    

    思路二:翻转后半部分,与前半部分比较。

    class Solution {
        public boolean isPalindrome(int x) {
            if(x <= 0 || x % 10 == 0) return false; //负数或者个位数为0
            int sum = 0;    //记录逆转的一半
            while(x > sum){
                sum = sum * 10 + x % 10;
                x /= 10;
            }
            return x == sum || x == sum / 10;    //包含数字位数是奇数和偶数的两种情况
        }
    }
    

      

  • 相关阅读:
    兼容IE678浏览器的html5标签的几个方案
    CommonJS和AMD/CMD
    axios的使用
    自己写表单校验插件
    表单校验
    JS打开新窗口的2种方式
    mac 上使用移动硬盘
    Boostrap
    Web.config详解
    DataTable
  • 原文地址:https://www.cnblogs.com/promiseslc/p/8592018.html
Copyright © 2011-2022 走看看