天天看点

LeetCode题目之判断回文数

题目:给定一个数字,判断是否是回文数。

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

解题思路:先将数字反转,然后判断反转之后的数字与原数字是否相等

代码:

/***
     * 先将数字反转,然后比对反转之后的数字与原数字是否相同
     * @param num
     * @return
     */
    public boolean method_1(int num){
        int temp=num;//临时存储原数字
        
        if(num < 0){//小于0的数字肯定不是回文数
            return false;
        }else if(num == 0){
            return true;
        }
        //反转原数字
        int a=0;
        int size=(num+"").length();
        for(int i=0;i<size;i++){
            int temp1=num%10;
            num=(num-temp1)/10;
            double val=temp1*Math.pow(10,size-i-1);
            a+=(int)val;
        }

        //比较反转之后的数字与原数字是否相等
        if(a==temp){
            return true;
        }
        
        return false;
    }