LeetCode(Python)——回文数(简单)

2023-10-27

回文数

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

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

输入:x = 121
输出:true

输入:x = -121
输出:false

输入:x = 10
输出:false

方法一:暴力循环

最简单暴力的办法就是,先将整数转字符串,然后通过循环检索来判断该整数是否为回文数。

# 暴力循环
class Solution:
    def isPalindrome(self, x: int) -> bool:
        if x < 0:
            return False
        str_x = str(x)
        n = len(str_x)
        for i in range(int(n/2)): # 长度折半需取整,则可排除奇偶问题
            if str_x[i] != str_x[-i-1]: # 检索从0开始,逆序检索需-1
                return False
        return True

方法二:检索反转

其次容易想到的是,字符串切片操作,通过字符串反转直接判断该该整数是否为回文数。

# 检索反转
class Solution:
    def isPalindrome(self, x: int) -> bool:
        if x < 0:
            return False
        str_x = str(x)
        reverse_str_x = str_x[::-1]
        if str_x == reverse_str_x:
            return True
        else:
            return False

方法三:数学解法

比较复杂一些的算法是,通过取整和取余操作,来获取整数中对应的数字进行比较。

# 数学解法
class Solution:
    def isPalindrome(self, x: int) -> bool:
        if x < 0:
            return False
        y = 0
        x_check = x
        while x:
            y = y * 10 + x % 10
            x //= 10
        if y == x_check:
            return True
        else:
            return False

总结

你担心你的溢出,我用我的循环!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode(Python)——回文数(简单) 的相关文章

随机推荐

  • nnU-Net团队新作MedNeXt:新一代医学图像分割之王,刷新多项榜单记录!

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 点击进入 gt 医疗影像和Transformer 微信技术交流群 转载自 CVHub Title MedNeXt Transformer driven Scaling
  • clamav的病毒库文件的文件头的信息说明(clamav版本号等)

    Author Samson Date 01 04 2022 在开源病毒检测工具clamav中 是通过对病毒库中的病毒特征值来进行对比的 病毒库文件存放于 var lib clamav目录下 主要是三个cvd文件 如下 bytecode cv
  • httpservletrequest_HttpServletRequest详解 外加请求转发和重定向口述讲解(五)

    点击上方 IT咸鱼 星标公众号 每天分享技术栈 开发工具等 续前篇 咳 今天家里停电电继续更新 每天坚持 前面我们说到response对象的用法和案列 接下来再说说Servlet Request对象用法和案例 1 ServletReques
  • Some Laws in IT

    Moore s Law 摩尔定律是由英特尔 Intel 创始人之一戈登 摩尔 Gordon Moore 提出来的 其内容为 当价格不变时 集成电路上可容纳的元器件的数目 约每隔18 24个月便会增加一倍 性能也将提升一倍 换言之 每一美元所
  • JUC-7. 线程池

    想了解更多JUC的知识 JUC并发编程合集 1 概述 线程池做的工作主要是 控制运行的线程数量 处理过程中将任务放入队列 然后在线程创建后启动这些任务 如果线程数量超过了最大数量 超出数量的线程排队等候 等其他线程执行完毕 再从队列中取出任
  • 全套增删改查(链接数据据库)

    使用Drud连接池连接数据库 完成对数据的增删改查 了解所需要实现的功能 1 综合练习 1 简单功能 1 列表查询 2 登录 3 添加 4 删除 5 修改 2 复杂功能 1 删除选中 2 分页查询
  • ajax怎么给日历日期上做标记,可以做标记的日历?

    原标题 可以做标记的日历 我们很多人一天要做的事情是比较多的 除了工作中的一些任务外 还要照顾好整个家庭 事情多了就难免会有疏忽 所以有不少网友都想要使用一款直观的添加日程的软件 如果可以直接在日历软件中添加日程做标记就更好了 那么有可以做
  • 剑指offer——对称的二叉树

    题目描述 请实现一个函数 用来判断一颗二叉树是不是对称的 注意 如果一个二叉树同此二叉树的镜像是同样的 定义其为对称的 本题知识点 树 解题思路 采用递归的方式 先判断左子树和右子树是否相等 再递归判断左子树的右子树和右子树的左子树以及左子
  • 【101】NLP 自然语言处理14种分类算法】

    内容目录 一 数据集介绍二 解压文件明确需求三 批量读取和合并文本数据集四 中文文本分词五 停止词使用六 编码器处理文本标签七 常规算法模型1 k近邻算法2 决策树3 多层感知器4 伯努力贝叶斯5 高斯贝叶斯6 多项式贝叶斯7 逻辑回归8
  • locust基础使用

    locust基础使用 前言 最近接到一个需求 压测一个接口稳定性 瞬间脑海浮现了jmeter 然后接着看了是那个接口 瞬间分析了下接口里身份验证的加密算法 加上由于时间有限加上jmeter的BeanShell PreProcessor不是很
  • KISS principle (kiss原则)

    Keep It Simple Stupid KISS 原则声明 即使解决方案看起来很愚蠢 简单的解决方案也比复杂的解决方案好 描述 该KISS原则是关于追求简单 现代编程语言 框架和API具有强大的手段来创建针对各种问题的复杂解决方案 有时
  • uniapp超实用页面三层架构(背景层+模糊层+内容层)

    更新 固定高度 滚动条 解决内容超出问题 内容不超出可以去掉
  • Python到底有多强?双十一的时候带你领略它的强大之处!

    双十一第一波付尾款已经开始啦 怎么样 不过很烦的事情就是 手速不够快 抢不过人家 总是错过优惠券 看到好东西 稍微犹豫了下 然后也没了 哭唧唧 成天忙得晕头转向 忘记付尾款 不仅东西没抢到 定金也没了 还有啊 双十一的优惠攻略真的是看得人头
  • 大文件切片上传、视频切片上传转m3u8播放

    一 故事 前不久干项目 涉及到在线学习 简单来说就是对文章 视频进行在线学习 这个时候问题出现了 就是在上传视频的时候 速度很是慢 除此之外 视频播放也是卡的鸭皮 然后就开始疯狂网上搜刮知识 最终解决方案如下 二 解决方案 1 视频采用切片
  • gtest各项参数

    1 测试部分 1 gtest list tests 列出所有测试的名字而不是运行它们 例如TEST fun add 输出就是fun add 2 gtest filter positive patterns 过滤作用 仅仅运行那些名字匹配po
  • docker安装RabbitMQ及安装延迟插件

    我这个安装攻略首先得保证服务器上安装过docker了 如果没安装docker请先去安装docker 1 首先说一下什么是MQ MQ message queue 字面意思上来说消息队列 FIFO先入先出 队列中存入的内容是message 是一
  • Docker 无法使用Vi/Vim/Gedit

    当在ubuntu下 使用docker container 时 想要编辑一些文件 但是docker登陆后 无法安装vim 无法使用apt get命令 所以可以考虑另一种方法 即在本地修改好文件 把文件拷贝覆盖到docker 使用以下命令 do
  • 记录第一篇被”华为开发者联盟鸿蒙专区 “收录的文章

    记录第一篇被 华为开发者联盟鸿蒙专区 社区收录的文章 坚持写作的动力是什么 是记录 分享 以及更好的思考
  • Qt自学笔记-自定义信号和槽(传智教育)

    一 新建项目 1 项目名称 02 SignalAndSlot 建立一个空窗口 基类 Qwidget 名称Widget 先运行一下第一个空窗口 检查一下代码 2 根据需求在项目上创建新文件 2 1 第一个文件 Teacher 不是一个控件 因
  • LeetCode(Python)——回文数(简单)

    回文数 概述 给你一个整数 x 如果 x 是一个回文整数 返回 true 否则 返回 false 回文数是指正序 从左向右 和倒序 从右向左 读都是一样的整数 输入 x 121 输出 true 输入 x 121 输出 false 输入 x