判断整数是否为回文的三种方式

第一种:

将整型转为char型数组两两进行判断

 public static boolean judgePalindrome(int n){
        char[] items=String.valueOf(n).toCharArray();
        boolean flag=false;
        int i ;
        int mid=(items.length-1)/2;
        for ( i = 0;i<=mid;i++){
            if (items[i]!=items[items.length-1-i])
                break;
        }
        if (i==mid+1)
            flag=true;
        return flag;
    }

第二种:

利用StringBuilder类型的reverse方法进行逆转 再判断

public static boolean judgePalindrome(int n){
        StringBuilder builder=new StringBuilder(String.valueOf(n));
        return builder.toString().equals(builder.reverse().toString());
    }

第三种:

最高位等于个位,第二高位等于十位……不过只进行到中间位就停止

    public static boolean judgePalindrome(int n){
        if (n<0 || (n!=0 &&n%10==0)) return false;
        int rev = 0;
        while (n>rev){
            rev = rev*10 + n%10;
            n = n/10;
        }
        return (n==rev || n==rev/10);
    }

你可能感兴趣的:(判断整数是否为回文的三种方式)