JAVA判断回文数的两种方法

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

方法一

通过==String.valueOf()方法把整数转换为字符串,再用toCharArray()==方法将字符串转化为字符数组,通过数组的第一个和最后一个比较是否相等判断回文。

    public static boolean isPalindrome(int x) {
    
    
        if(x < 0) return false; //负数不是回文
        if(x < 10) return true; //个位数为回文数
        String s = String.valueOf(x); //整数转字符串
        char[] c = s.toCharArray(); //字符串转字符数组
        int len  = c.length;
        boolean flag = false;
        for(int i = 0; i < len / 2; i++){
    
    
            if(c[i] != c[len - 1 - i]){
    
    
                return false;
            }
        }
        return true;
    }

方法二

把整数的每位都拆开,再从个位开始通过计算,看最后得出的数是否与原来的数相等。

public static boolean isPalindrome(int x) {
    
    
        if(x < 0) return false;
        if(x < 10) return true;
        int ret = x;
        int y = 0,m = 0;
        while(x!= 0){
    
    
            m = x % 10;
            y = y * 10 + m;
            x /= 10;
        }
        return y == ret;
    }

猜你喜欢

转载自blog.csdn.net/XSAAA/article/details/112706090