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倒过来

  1. 先单独考虑x为负数、x==0、x末位是0的情况
  2. 用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实现)相关推荐

  1. LeetCode 09. 回文数

    原题链接 class Solution { public:bool isPalindrome(int x) {if(x<0)return false;if(x>=0 && ...

  2. LeetCode 08字符串转整数09回文数

    维护公众号:bigsai ,点赞再看,养成习惯! 08字符串转整数 题目描述: 分析: 本题主要是字符串的处理.需要注意以下几点: 去除字符前的空字符 第一个有效字符必须是符号或者数字 只能有一个符号 ...

  3. [模拟|数位] leetcode 9 回文数

    [模拟|数位] leetcode 9 回文数 1.题目 题目链接 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true ...

  4. 【LeetCode】回文数

    个人博客:https://jacob.org.cn package leetcode.editor.cn;//判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. ...

  5. LeetCode 9. 回文数

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

  6. leetcode isPalindrome (回文数判断)

    回文很简单,就是正着读和反着读一样,要判断一个数是否为回文数只需要判断正反两个是不是相等即可. 再往深了想一下,只需要判断从中间分开的两个数一个正读,一个反读相等即可. 代码: class Solut ...

  7. 20200119:(leetcode)回文数(3种解法)

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

  8. 回文数——Java实现

    回文数的定义 设n是一任意自然数.若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数.例如,若n=1234321,则称n为一回文数:但若n=1234567,则n不是回文数. 注意: 1. ...

  9. 回文数--java两种方法实现

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

  10. 回文数(Java解法)

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

最新文章

  1. springboot jar服务器运行后无法请求_Spring Boot微服务中Chaos Monkey的应用
  2. jQuery Mobile学习笔记
  3. U盘安装Windows 7 方法
  4. 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)
  5. 1-3:学习shell之Linux系统
  6. 计算机组成原理综合题,2013计算机组成原理复习题.doc
  7. 小程序分类左右内容联动
  8. mac终端命令大全介绍
  9. 占优策略名词解释_占优策略
  10. SRE(运维工程师)成长路上的十本书籍推荐
  11. 回望2019,不仅是“自由自在“,更是 AI 领域不平凡的一年
  12. 企业微信可以自动回复吗?
  13. uni-app 二维码生成器
  14. 信息学奥赛一本通(题解目录)
  15. MySql索引优化及Explain工具使用
  16. ios html特殊字符转义字符,iOS URL 字符转义问题
  17. 淘宝客商品 获取详情图片
  18. 【Go实现】实践GoF的23种设计模式:命令模式
  19. Crack看雪论坛加解密的一个破解案例程序
  20. 取消iostream与stdio之间的绑定

热门文章

  1. leetcode--爬楼梯
  2. 主页被锁定为good.allxun.com的手工清除办法
  3. daterangepicker.js快捷筛选项的高亮显示问题修复
  4. 游戏服务端php,fooking: 分布式游戏网关(php游戏网关, php游戏服务端)
  5. Odoo产品分析 (三) -- 人力资源板块(3) -- 休假管理(1)
  6. js和cs的值相互传递和函数的相互调用
  7. 启动bat文件--系统找不到指定路径
  8. 李小龙私人的超级训练计划
  9. linux监听火狐浏览器关闭,火狐浏览器window.close()关闭无效
  10. 网络爬虫信息之实战淘宝书包信息爬取14