20200119:(leetcode)回文数(3种解法)
回文数
- 题目
- 基本思路
- 代码实现
题目
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
基本思路
- 方法一:转化为字符串,然后直接反转对比原始字符串和反转后的字符串
- 方法二:长度为n的字符串,取出索引为0和n-1,1和n-2 …的索引对应的数字对比,不同则返回false。
- 方法三:题解提供的最简单方法,直接取后半段的数字反转后与前半段对比,关键部分在于判断截取下来的部分是否已经截取过半,因此需要判断截取后的数字与前半段数字的大小关系。
代码实现
方法一二
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种解法)相关推荐
- 洛谷回文数c语言,【普及-】洛谷P1015:回文数 一种解法
解法 这里考虑到进制的问题,需要把所输入的数字作为字符串(数组名为origin,16进制为大写字母),然后通过转换化为一个个的十进制数位,作为数组的数据元素,这样,在判断是否回文的时候直接从数组两边取 ...
- Java判断回文数(两种方式)
Java判断回文数(两种方式) 回文数是一个非常特殊的数,它从左边读和从右边读是一样的.例如12321 判断方式有两种. 方式一:对该数字进行分解,然后一一比对,拆解成 1 2 3 2 1,然后第一位 ...
- Java实现回文数四种方法
干货分享 | 打印回文数的四种方法!! 本文提供了四种方法来打印回文数,大家可以根据题目的要求(如:时间复杂度.运行时间.内存等限制条件)来选取合适的方法.如果题目要求打印的回文数较大,我们可以选择将 ...
- 判断一个数是否为回文数(三种方法,详细注解)
题目要求: 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.例如,121 是回文,而 123 ...
- leetcode 回文数
2019独角兽企业重金招聘Python工程师标准>>> 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: ...
- Java(回文数--一种比较简单的写法)
回文数.编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如121.23 ...
- jsp判断字符串相等_最长回文字符串三种解法
先解释一下什么是回文字符串,比如说字符串"aba",无论是从先往后读取还是从后往前读取,结果都是一样的.当给定很长的字符串时,如何快速获取到最长的回文字符串,这也是大厂比较常见的算 ...
- LeetCode Golang 9.回文数
9. 回文数 第一种办法 :itoa 转换为字符串进行处理: package mainimport ("strconv""fmt" )//判断一个整数是否是回文 ...
- 回文数(Java解法)
回文数(Java解法) 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如,121 是回文 ...
- JavaLeetCode 初入门——009. 回文数
Java&LeetCode 初入门--009. 回文数 题目 个人解法 官方解法 思路 算法 文内代码全部采用JAVA语言. 题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序( ...
最新文章
- SMB文件共享及用户权限使用配置
- QT学习:多线程运用
- sqlserver存储过程循环写法
- 游戏中常用的寻路算法的分享(4)处理移动中的障碍物
- 安全测试===Mysql 注入练习网站(3)
- 主动领域自适应(Active Domain Adaptation)部分经典论文汇总
- Android【报错】. lang。android.app ClassCastException。SharedPreferencesImpl不能被强制转换为android.content.Shared
- python基础判断题汇总_python基础 判断题
- Tapestry5的喜爱.
- 1.8Linux下的软件管理
- 项目实训(一)基于unity的2D多人乱斗闯关游戏设计与开发 unity的下载及了解
- 用iSee图片专家制作淘宝店标教程
- StstemVerilog中的约束 constraint
- 艾兰岛编辑器-事件监听器
- 分享 | 会 Python 的人究竟怎么炒股?
- UNICODE_STRING、全局句柄表、文件、注册表、LIST_ENTRY、HASH、TREE、LookAside
- 针对 Telnet 协议的威胁观察
- 受疫情影响,突遭上交所中止发行上市审核!亏损持续扩大的极飞科技,还能让农业智慧起来么?...
- 联想服务器rd640性能,联想RD640处理器性能测试
- mysql标志位_数据库状态标识位flag设计
热门文章
- 为什么别人年底购物,同学们年底考证?
- 独家对话微软顶级代码女神潘正磊:Visual Studio 与 VS Code 的未来走向 | 人物志...
- 亚马逊的现代应用程序为何这么强大?
- 顶尖技术专家严选,15场前沿论坛思辨,2019中国大数据技术大会邀您共赴!
- 开学季,复旦老师教你玩转“0”“1”浪漫!| 人物志
- 太惨!学Python方法用错,直接从入门到放弃!
- 人工智能迎来寒冬,自动驾驶汽车发展受阻
- 今日头条、快手们疯狂招人是人工智能的失败?
- 2018年秋计算机应用基础本科,广东开放大学远程教育专科2018年秋计算机应用基础Word模块测试...
- 新东方java开发待遇_新东方教师薪酬与考核曝光!拿去即用(仅供参考)