编程语言
首页 > 编程语言> > letcode算法--7.回文数

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); 
    }
}

 

标签:10,return,--,rev,int,false,letcode,回文
来源: https://www.cnblogs.com/xinger123/p/16650374.html