栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

LeetCoad 9.回文数【java】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LeetCoad 9.回文数【java】

一、题目

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

示例 1:

输入:x = 121
输出:true


示例 2:

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


示例 3:

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


示例 4:

输入:x = -101
输出:false

二、方法:

方法一:

通过题目分析,其实可以将输入的数作为一个字符串,在将每一个字符颠倒过来,和之前的输入进行比较,如果一样则返回true,反之返回flase。

方法二:

如果不把这个输入当做字符串其实也是可以的。将这个数进行除和求余运算得到它的逆数,再与输入的数进行比较。

首先0是一个回文数,负数和被十整除的数肯定不是回文数。

然后再对其他类型的数进行判断。如果是回文数,那经过循环后会出现两种情况。如果输入是偶数为的数(如:两位数,四位数),最后是x==reverse,反之是x==reverse/10。

具体代码如下:

class Solution {
    public boolean isPalindrome(int x) {
        if (x == 0) return true;
        if (x < 0 || x % 10 == 0) return false;
        int reversed = 0;
        while (x > reversed) {
            reversed = reversed * 10 + x % 10;
            x /= 10;
        }
        return x == reversed || x == reversed / 10;
    }
}

hello1024world - 力扣(LeetCode) (leetcode-cn.com)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709071.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号