letcode算法--7.回文数

2022/9/3 1:52:44

本文主要是介绍letcode算法--7.回文数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

例如,121 是回文,而 123 不是。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

方法一:数学翻转

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

方法二:反转一半数字,方法一的优化

class Solution {
    public boolean isPalindrome(int s) {
       int rev = 0;
       if (s < 0 || (s != 0 && s%10 == 0))
           return false;
       else {
           while(s > rev){
               rev = rev*10 + s%10;
               s /= 10;
           }
       }
       return rev == s || rev/10 == s;
    }
}

方法三:转成字符串,翻转判断

class Solution {
    public boolean isPalindrome(int s) {
       String ss = s + "";
       StringBuffer stringBuffer = new StringBuffer(ss);
       StringBuffer reverse = stringBuffer.reverse();
        String s1 = reverse.toString();
        return ss.equals(s1); 
    }
}

 



这篇关于letcode算法--7.回文数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程