9. 回文数

Ideas

算法:迭代
数据结构:一个变量就OK
思路:

  1. 首先负数肯定都不是回文数,所以遇到负数可以直接return false;
  2. 针对最后一位是0的情况,因为0不能作为开头,所以只要最后一位数字是0并且这个数字本身不是0,也可以直接return false;
  3. 突然间想到之前做的LeetCode Algorithm 7. 整数反转,根据回文数的定义,把一个整数反转之后那么它应该还等于它本身;
  4. 直接翻转的话有可能会导致int类型整数溢出,所以需要优化一下:因为回文数是对称的,所以从中间位置往后的翻转操作都是多余的,只需要后一半数就可以了;
  5. 针对奇数个位数的回文数,可以直接把翻转后的数字的最后一位去掉。

Code

C++

class Solution {public:bool isPalindrome(int x) {if (x < 0 || (!(x % 10) && x)) return false;int rev = 0;while (rev < x) {rev = rev * 10 + x % 10;x /= 10;}return rev == x || rev / 10 == x; }
};

Python

class Solution:def isPalindrome(self, x):if x<0:return Falseif x<10:return Trueif x % 10 == 0:return Falsex_str = str(x)if x_str[::-1] == x_str:return Truereturn False

LeetCode Algorithm 9. 回文数相关推荐

  1. LeetCode(9.回文数)JAVA

    LeetCode(9.回文数) 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输 ...

  2. java回文数算法for_【Java】【每日算法/刷穿 LeetCode】9. 回文数(简单)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]9. 回文数(简单) 宫水三叶发布于 今天 15:30 题目描述 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从 ...

  3. LeetCode 09:回文数(Java实现)

    LeetCode 09:回文数(Java实现) 题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1:输入: 121 输出: true 示例 2:输 ...

  4. LeetCode实战:回文数

    题目英文 Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same ...

  5. LeetCode(JavaScript实现)——回文数

    文章目录 1.题目 2.题解 2.1.将整数转换为字符串解法 实现方法一 实现方法二: 1.题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: ...

  6. leetcode系列--9.回文数

    leetcode系列–第9题.回文数 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.例如,1 ...

  7. Python 算法 入门到精通 - LeetCode - 3 :回文数

    本系列适合跟我一样新入门的同学,我会从最基础的方法一步一步优化,所有代码都可以直接复制运行,希望有所帮助.如果喜欢可以订阅本系列(基于python3) 先看题目: 给你一个整数 x ,如果 x 是一个 ...

  8. 【Leetcode | easy】回文数

    题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: ...

  9. LeetCode Golang 9.回文数

    9. 回文数 第一种办法 :itoa 转换为字符串进行处理: package mainimport ("strconv""fmt" )//判断一个整数是否是回文 ...

最新文章

  1. 支付宝 php rsa算法,:PHP支付宝接口RSA验证
  2. 6_分布式训练框架Horovod使用(20190111)
  3. 比特币可视化工具_比特币再破1.2万大关 你还要做打工人吗?
  4. 【机器学习】关于机器学习模型可解释(XAI),再分享一招!
  5. Persist Security Info 参数的作用
  6. 第七章:XAML vs. code(3)
  7. [html] 说说你对移动优先布局的理解
  8. 福州联通与市政府携手 共筑新型智慧城市
  9. 前端特效demo | 值得收藏的6个 HTML5 Canvas 实用案例
  10. Elasticsearch核心知识图谱
  11. Oracle 获取月初和月末
  12. python手机自动化框架_python自动化框架(一)
  13. 计算机flash听课记录范文,听课记录范文
  14. SQLite解决插入大量数据速度慢的问题
  15. LeetCode·718.最长重复子数组·动态规划
  16. c语言ascii码字符串转16进制,ASCII转16进制C语言
  17. MySQL日期字符串转换成NULL值的异常处理
  18. 全球KYC服务商ADVANCE.AI 活体检测产品通过ISO国际安全认证 产品能力再上一新台阶
  19. 为啥要使用代理IP?
  20. app前端图形验证码(全部代码)

热门文章

  1. Web.sitemap网站导航
  2. 杂项-QRCode:ZXing
  3. 命名空间“Microsoft.Office”中不存在类型或命名空间名称“Interop”(是否缺少程序集引用?...
  4. 有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数 都是多少
  5. 转:在 C# 中使用 P/Invoke 调用 Mupdf 函数库显示 PDF 文档
  6. python3 面向对象详解_Python3面向对象
  7. python控制台输出到文件_Python print 立即打印内容到重定向的文件
  8. 10-7 B2-1查找订单数最多的员工信息 (20 分)
  9. python交互模式切换_Python 交互式窗口 (REPL) - Visual Studio | Microsoft Docs
  10. Java黑皮书课后题第9章:*9.6(秒表)设计一个名为StopWatch的类,该类包含……。编写一个测试程序,用于测量使用选择排序对100000个数字进行排序的执行时间