zoukankan      html  css  js  c++  java
  • Leet Code 9.回文数

    判断一个整数是否是回文数。

    题解

    普通解法:将整数转为字符串,然后对字符串做判断。

    ///简单粗暴,看看就行
    class Solution {
        public boolean isPalindrome(int x) {
            String reversedStr = (new StringBuilder(x + "")).reverse().toString();
            return (x + "").equals(reversedStr);
        }
    }
    
    我的解法代码

    取出后半段数字进行翻转

    • 每次进行取余操作,取出最低数字
    • 将最低数字加到取出数的末尾
    • 每取一位最低数,x就要/10
    • 判断x是否小于取出数,小于时代表已经对半
    • 如果是偶数,则两者相等,如果是奇数,需要/10
    class Solution {
        public boolean isPalindrome(int x) {
            //思考:这里大家可以思考一下,为什么末尾为 0 就可以直接返回 false
            if (x < 0 || (x % 10 == 0 && x != 0)) return false;
            int revertedNumber = 0;
            while (x > revertedNumber) {
                revertedNumber = revertedNumber * 10 + x % 10;
                x /= 10;
            }
            return x == revertedNumber || x == revertedNumber / 10;
        }
    }
    
  • 相关阅读:
    CF611C New Year and Domino
    CF706C Hard problem (状态机dp)
    CF467C George and Job (dp)
    Vue的响应式系统
    如何更好的使用js?
    关于JS变量和作用域详解
    运算符的应用及流程控制if,switch语句
    js闭包
    js的基础
    js的使用及语法
  • 原文地址:https://www.cnblogs.com/chenshaowei/p/12377244.html
Copyright © 2011-2022 走看看