回文数

  • 题目
  • 基本思路
  • 代码实现

题目

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

示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

基本思路

  1. 方法一:转化为字符串,然后直接反转对比原始字符串和反转后的字符串
  2. 方法二:长度为n的字符串,取出索引为0和n-1,1和n-2 …的索引对应的数字对比,不同则返回false。
  3. 方法三:题解提供的最简单方法,直接取后半段的数字反转后与前半段对比,关键部分在于判断截取下来的部分是否已经截取过半,因此需要判断截取后的数字与前半段数字的大小关系。

代码实现

方法一二

package com.immunize.leetcode.isPalindrome1;/*** 方法二* * @author Mr IMMUNIZE**/
public class Solution {public boolean isPalindrome(int x) {/** 方法一:* * return (x + "").equals((new StringBuilder(x + "")).reverse().toString());*/if (x < 0)return false;// 获取当前x的位数int div = 1;while (x / div >= 10) {div *= 10;}while (x > 0) {// 最高位int left = x / div;// 最低位int right = x % 10;if (left != right)return false;// 去掉最高位和最低位后的xx = (x % div) / 10;// 因为去掉了2位数,所以被除数div也要少2位div /= 100;}return true;}
}

方法三

package com.immunize.leetcode.isPalindrome1;/*** 方法三:* * @author Mr IMMUNIZE**/
public class Solution {public boolean isPalindrome(int x) {if (x < 0 || (x % 10 == 0 && x != 0))return false;int Rx = 0;// x每次去除最低位while (x > Rx) {Rx = Rx * 10 + x % 10;x /= 10;}// 偶数则相等,奇数x则等于截取数字去掉最后一位。return x == Rx || x == Rx / 10;}
}

20200119:(leetcode)回文数(3种解法)相关推荐

  1. 洛谷回文数c语言,【普及-】洛谷P1015:回文数 一种解法

    解法 这里考虑到进制的问题,需要把所输入的数字作为字符串(数组名为origin,16进制为大写字母),然后通过转换化为一个个的十进制数位,作为数组的数据元素,这样,在判断是否回文的时候直接从数组两边取 ...

  2. Java判断回文数(两种方式)

    Java判断回文数(两种方式) 回文数是一个非常特殊的数,它从左边读和从右边读是一样的.例如12321 判断方式有两种. 方式一:对该数字进行分解,然后一一比对,拆解成 1 2 3 2 1,然后第一位 ...

  3. Java实现回文数四种方法

    干货分享 | 打印回文数的四种方法!! 本文提供了四种方法来打印回文数,大家可以根据题目的要求(如:时间复杂度.运行时间.内存等限制条件)来选取合适的方法.如果题目要求打印的回文数较大,我们可以选择将 ...

  4. 判断一个数是否为回文数(三种方法,详细注解)

    题目要求: 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.例如,121 是回文,而 123 ...

  5. leetcode 回文数

    2019独角兽企业重金招聘Python工程师标准>>> 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: ...

  6. Java(回文数--一种比较简单的写法)

    回文数.编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如121.23 ...

  7. jsp判断字符串相等_最长回文字符串三种解法

    先解释一下什么是回文字符串,比如说字符串"aba",无论是从先往后读取还是从后往前读取,结果都是一样的.当给定很长的字符串时,如何快速获取到最长的回文字符串,这也是大厂比较常见的算 ...

  8. LeetCode Golang 9.回文数

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

  9. 回文数(Java解法)

    回文数(Java解法) 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如,121 是回文 ...

  10. JavaLeetCode 初入门——009. 回文数

    Java&LeetCode 初入门--009. 回文数 题目 个人解法 官方解法 思路 算法 文内代码全部采用JAVA语言. 题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序( ...

最新文章

  1. SMB文件共享及用户权限使用配置
  2. QT学习:多线程运用
  3. sqlserver存储过程循环写法
  4. 游戏中常用的寻路算法的分享(4)处理移动中的障碍物
  5. 安全测试===Mysql 注入练习网站(3)
  6. 主动领域自适应(Active Domain Adaptation)部分经典论文汇总
  7. Android【报错】. lang。android.app ClassCastException。SharedPreferencesImpl不能被强制转换为android.content.Shared
  8. python基础判断题汇总_python基础 判断题
  9. Tapestry5的喜爱.
  10. 1.8Linux下的软件管理
  11. 项目实训(一)基于unity的2D多人乱斗闯关游戏设计与开发 unity的下载及了解
  12. 用iSee图片专家制作淘宝店标教程
  13. StstemVerilog中的约束 constraint
  14. 艾兰岛编辑器-事件监听器
  15. 分享 | 会 Python 的人究竟怎么炒股?
  16. UNICODE_STRING、全局句柄表、文件、注册表、LIST_ENTRY、HASH、TREE、LookAside
  17. 针对 Telnet 协议的威胁观察
  18. 受疫情影响,突遭上交所中止发行上市审核!亏损持续扩大的极飞科技,还能让农业智慧起来么?...
  19. 联想服务器rd640性能,联想RD640处理器性能测试
  20. mysql标志位_数据库状态标识位flag设计

热门文章

  1. 为什么别人年底购物,同学们年底考证?
  2. 独家对话微软顶级代码女神潘正磊:Visual Studio 与 VS Code 的未来走向 | 人物志...
  3. 亚马逊的现代应用程序为何这么强大?
  4. 顶尖技术专家严选,15场前沿论坛思辨,2019中国大数据技术大会邀您共赴!
  5. 开学季,复旦老师教你玩转“0”“1”浪漫!| 人物志
  6. 太惨!学Python方法用错,直接从入门到放弃!
  7. 人工智能迎来寒冬,自动驾驶汽车发展受阻
  8. 今日头条、快手们疯狂招人是人工智能的失败?
  9. 2018年秋计算机应用基础本科,广东开放大学远程教育专科2018年秋计算机应用基础Word模块测试...
  10. 新东方java开发待遇_新东方教师薪酬与考核曝光!拿去即用(仅供参考)