zoukankan      html  css  js  c++  java
  • 每日一题力扣9回文数

    给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

    回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/palindrome-number
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    正解:

    其实就是,

    对于原数x,每次都移除最后一个数a

    最后一个数a*10=t

    再移除当前最后一个数b

    此时回文为t+b,即最后一个数*10+倒数第二个数

    然后依次进行

    所以要做的事情就是,每次%10取余数得到x的末位数。x//10得到去除末位数后的其余数。x再%10取余得到倒数第二个数,将它和原末位数*10相加

    停止就是,当x小于或等于回文的时候

    class Solution:
        def isPalindrome(self, x: int) -> bool:
            if x < 0 or (x % 10 == 0 and x != 0):
                return False
            revertedNumber = 0
            while x > revertedNumber:#当x=回文number或者小于回文number的时候,就会停止
                revertedNumber = revertedNumber * 10 + x % 10#回文数是最后一个数*10+倒数第二个数
                x //= 10#原书每次都去除一个最末尾的数字
            return x == revertedNumber or x == revertedNumber //10#有时候131,3处于中位数,不影响回文数
  • 相关阅读:
    Tomcat压缩传输设置
    Spring事务的开启方式
    Transactional参数说明
    Java获取异常堆栈信息
    ElasticSearch的matchQuery与termQuery区别
    156-PHP strrpos和strripos函数
    155-PHP stripos函数
    154-PHP strpos函数
    153-PHP htmlentities函数
    152-PHP htmlspecialchars函数
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14510451.html
Copyright © 2011-2022 走看看