LeetCode 09:回文数(Java实现)
LeetCode 09:回文数(Java实现)
题目
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:输入: 121 输出: true
示例 2:输入: -121 输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:输入: 10 输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
进阶:你能不将整数转为字符串来解决这个问题吗?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-number著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路1:库函数
利用库函数,把x转化为字符串。需要对库函数熟练使用,好好读懂api再用。
java.lang.StringBuilder.StringBuilder(String str)
String java.lang.StringBuilder.toString()
StringBuilder java.lang.StringBuilder.reverse()
boolean java.lang.String.equals(Object anObject)
代码
class Solution1 {public boolean isPalindrome(int x) {//method 1:利用库函数,转化为字符串//想问字符串反转函数reverse只有java.lang.StringBuilder里才有吗?//为什么创建字符串的时候要加上" "?//错误:String rev = new StringBuilder(x+" ").reverse().toString();//1、没加括号 2、x+"";而不是x+" ";String rev = (new StringBuilder(x+"")).reverse().toString();return (x+"").equals(rev); }}
结果
思路2:将x整个倒过来
将x整个倒过来成rev,再与x比较。
注:这个方法用while(yuan > 0)控制,就不用单独考虑x为负数、x==0、x末位是0的情况了。
代码
class Solution2 {public boolean isPalindrome(int x) {//method 2:将数字整个倒过来,与原数比较int yuan = x;int rev = 0;int a = 0;while(yuan > 0){a = yuan%10;rev = rev*10 + a;yuan = yuan/10;}return rev == x;}
结果
思路3:将一半x倒过来
- 先单独考虑x为负数、x==0、x末位是0的情况
- 用while(x>rev)控制,翻转一半。这里要考虑回文数长度(奇数位、偶数位),只需要在return的时候修改一下即可
代码
class Solution3 {public boolean isPalindrome(int x) {//只反转一半if(x<0||x%10==0&&x>0) return false;int rev = 0;int a = 0;while(x>rev){a = x%10;rev = rev*10+a;x = x/10;}return x == rev || x == rev/10;}}
结果
LeetCode 09:回文数(Java实现)相关推荐
- LeetCode 09. 回文数
原题链接 class Solution { public:bool isPalindrome(int x) {if(x<0)return false;if(x>=0 && ...
- LeetCode 08字符串转整数09回文数
维护公众号:bigsai ,点赞再看,养成习惯! 08字符串转整数 题目描述: 分析: 本题主要是字符串的处理.需要注意以下几点: 去除字符前的空字符 第一个有效字符必须是符号或者数字 只能有一个符号 ...
- [模拟|数位] leetcode 9 回文数
[模拟|数位] leetcode 9 回文数 1.题目 题目链接 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true ...
- 【LeetCode】回文数
个人博客:https://jacob.org.cn package leetcode.editor.cn;//判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. ...
- LeetCode 9. 回文数
文章目录 1. 题目信息 2. 解题 1. 题目信息 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1:输入: 121 输出: true 示例 2:输 ...
- leetcode isPalindrome (回文数判断)
回文很简单,就是正着读和反着读一样,要判断一个数是否为回文数只需要判断正反两个是不是相等即可. 再往深了想一下,只需要判断从中间分开的两个数一个正读,一个反读相等即可. 代码: class Solut ...
- 20200119:(leetcode)回文数(3种解法)
回文数 题目 基本思路 代码实现 题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -1 ...
- 回文数——Java实现
回文数的定义 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称n为一回文数:但若n=1234567,则n不是回文数. 注意: 1. ...
- 回文数--java两种方法实现
1.题目描述:判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false ...
- 回文数(Java解法)
回文数(Java解法) 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 例如,121 是回文 ...
最新文章
- springboot jar服务器运行后无法请求_Spring Boot微服务中Chaos Monkey的应用
- jQuery Mobile学习笔记
- U盘安装Windows 7 方法
- 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)
- 1-3:学习shell之Linux系统
- 计算机组成原理综合题,2013计算机组成原理复习题.doc
- 小程序分类左右内容联动
- mac终端命令大全介绍
- 占优策略名词解释_占优策略
- SRE(运维工程师)成长路上的十本书籍推荐
- 回望2019,不仅是“自由自在“,更是 AI 领域不平凡的一年
- 企业微信可以自动回复吗?
- uni-app 二维码生成器
- 信息学奥赛一本通(题解目录)
- MySql索引优化及Explain工具使用
- ios html特殊字符转义字符,iOS URL 字符转义问题
- 淘宝客商品 获取详情图片
- 【Go实现】实践GoF的23种设计模式:命令模式
- Crack看雪论坛加解密的一个破解案例程序
- 取消iostream与stdio之间的绑定
热门文章
- leetcode--爬楼梯
- 主页被锁定为good.allxun.com的手工清除办法
- daterangepicker.js快捷筛选项的高亮显示问题修复
- 游戏服务端php,fooking: 分布式游戏网关(php游戏网关, php游戏服务端)
- Odoo产品分析 (三) -- 人力资源板块(3) -- 休假管理(1)
- js和cs的值相互传递和函数的相互调用
- 启动bat文件--系统找不到指定路径
- 李小龙私人的超级训练计划
- linux监听火狐浏览器关闭,火狐浏览器window.close()关闭无效
- 网络爬虫信息之实战淘宝书包信息爬取14