题目:回文数


 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
复制代码

示例:


输入: 121
输出: true输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
复制代码

思考:


这道题首先可以判断的是负数不是回文数,所以x<0直接返回false。
接着将x对10 求余,然后在除以10,再将结果对10求余,再次除以10。一直到结果为0为止。
接着将每次求得的余数按位数相加,得到的结果就是将原来的x翻转过来的数。
例如:12345
12321 对10求余:余数为5   除以10:结果为12341232 对10求余:余数为4   除以10:结果为123123 对10求余:余数为3   除以10:结果为1212 对10求余:余数为2   除以10:结果为11 对10求余:余数为1   除以10:结果为0至此为止,我们发现将余数加起来就是54321,就是将原数12345翻转后的结果。如果原数是回文数,则翻转后的结果与原数相等。
复制代码

实现:


  class Solution {public boolean isPalindrome(int x) {if (x < 0) {return false;}//result为余数累加的结果int result = 0;int temp = x;while (temp != 0) {//remainder每次求得的余数int remainder = temp % 10;//将之前的结果乘以10 再加上新求的余数result = result * 10 + remainder;//将原数除以10temp = temp / 10;}return result == x;}
}
复制代码

转载于:https://juejin.im/post/5c98e9556fb9a070d01407e8

LeetCode每日一题:回文数(No.9)相关推荐

  1. LeetCode第9题 回文数(Palindrome Number)

    文章目录 题目地址 题目描述 代码实现 解法一:普通解法 解法二:进阶解法---数学解法 解法三:进阶解法---巧妙解法 题目地址 题目地址https://leetcode-cn.com/proble ...

  2. LeetCode每日一题:回文链表(No.234)

    题目:回文链表 请判断一个链表是否为回文链表. 复制代码 示例: 输入: 1->2 输出: false输入: 1->2->2->1 输出: true 复制代码 思考: 先用快慢 ...

  3. LeetCode题组:第9题-回文数

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

  4. 【LeetCode】Palindrome Number(回文数)

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

  5. access中判断回文的代码_LeetCode 第九题 回文数

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

  6. [Leedcode][JAVA][第9题][回文数][数学法]

    [问题描述][简单] 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.示例 1:输入: 121 输出: true 示例 2:输入: -121 输出: false ...

  7. (进阶)LeetCode(9)——回文数(JavaScript)

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

  8. leetcode算法题--回文数

    原文链接:https://leetcode-cn.com/problems/palindrome-number/ bool isPalindrome(int x) {if(x<0||(x%10= ...

  9. LeetCode每日一题:2.两数相加

    这题一开始准备用最笨的方法,把两个链表的数化出来,相加,再把结果化成链表的形式,但执行起来比较繁琐,且超时: 所以参考了官方解答,采用进位逐个相加的方式简单不少,并且量少: 而且从今天官网给出的jav ...

最新文章

  1. 关于C语言中printf函数“输出歧视”的问题
  2. Cookie和Session区别
  3. 拦截聊天记录--Hook技巧简介【原创】
  4. ssh key生成_Stelnet(ssh)登陆华为交换机配置教程
  5. [react] 在React中组件的state和setState有什么区别?
  6. 前端学习(418):京东制作页面26中间模块划分
  7. 【Android】Uri和Url和URN
  8. LeetCode 978. 最长湍流子数组(DP)
  9. sqldataadapter.fill 索引超出了数组界限_小学生学习C++||第十五节 数组
  10. aws rds监控慢sql_AWS RDS SQL Server –启动新的数据库实例
  11. 获得密钥_《哪吒》公映密钥延期一个月?关于“密钥延期”的全揭秘来了
  12. 5大可以赚钱的视频平台,及收益渠道!
  13. 看好699指纹手机暴露任泉的商业野心
  14. detectron中的blobs
  15. 使用canvas实现对图片的翻转
  16. MySQL基础学习2
  17. 身体这些部位不舒服的时候,你知道意味着什么吗?
  18. 第1章 对象入门——Thinking-in-Java
  19. 程序员趣图:有时候我的代码就是这样子……
  20. Kettle5.2 couldn't convert string [...] to a date using format [yyyy/MM/dd HH:mm:ss.SSS]

热门文章

  1. /etc/bashrc和/etc/profile
  2. CC攻击(N个免费代理形成的DDOS)
  3. wireshark怎么抓包、wireshark抓包详细图文教程,简单介绍(及wireshark与wireshark legacy差别 )
  4. python学习—python中的引用本质
  5. pymysql 于pycharm中操作mysql
  6. ThreadLocal实现线程范围内的共享变量
  7. Two sum(给定一个无重复数组和目标值,查找数组中和为目标值的两个数,并输出其下标)...
  8. webServlet(/) 和 webServlet(/*) 的区别
  9. N76E003 工程创建教程
  10. 1123. Is It a Complete AVL Tree (30)