9. 回文数

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9. 回文数相关的知识,希望对你有一定的参考价值。

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

【1.0】

class Solution {
    public boolean isPalindrome(int x) {
        if (x <0)
            return false;
        int temp = x;
        int cnt = 0;
        int sum = 0;
        while (temp!=0)
        {
            temp /= 10;
            cnt++;
        }
        temp = x;
        for (int i = 0; i < cnt; i++)
        {
            sum = sum*10+temp%10;
            temp = temp/10;
        }
   
        if(x == sum)
            return true;
        else
            return false;
    }
}

【2.0】

class Solution {
    public boolean isPalindrome(int x) {
        //负数就不是回数
        if (x <0)
            return false;

        int temp = x;
        int sum = 0;
        while (temp!=0)
        {
            sum = sum*10+temp%10;
            temp /= 10;
        }
        return x==sum ? true:false;
    }
}

进阶:你能不将整数转为字符串来解决这个问题吗?

class Solution {
    public boolean isPalindrome(int x) {
        //负数就不是回数
        if (x <0)
            return false;

        //转换为字符串处理
        String a = String.valueOf(x);
        int len = a.length();
        for (int i = 0; i < len/2; i++)
        {
            if (a.charAt(i) != a.charAt(len - 1 - i))
                return false;
        }
        return true;
    }
}

以上是关于9. 回文数的主要内容,如果未能解决你的问题,请参考以下文章

9.18 判断一个数是否是回文数

Leecode 9. 回文数

leetCode第9题——回文数

代码题(16)— 回文

LeetCode 9. 回文数

leetcode 9