zoukankan      html  css  js  c++  java
  • 【简单】9.回文数判断

    9.回文数判断

    题目:
    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
    解法:

    //数学解法
        public boolean isPalindrome(int x){
            System.out.println("****数学解法****");
            if(x<0) return false;
            int num = x;
            //算出最高位数的整10数
            int div = 1;
            while(x/10>=1){
                div*=10;
                x/=10;
            }
            while(num>0){
                //比较左右两边的数
                int left = num/div;
                int right = num%10;
                if(left!=right) return false;
                //抽取中间的数
                num = (num%div)/10;//22
                //每次少两位,除以100
                div/=100;//10
            }
            return true;
        }
    
        //翻转解法
        public boolean isPalindrome02(int x){
            System.out.println("****翻转解法****");
            //判断不符合条件 x<0 or x的最低位为0
            if(x<0||(x%10==0&&x!=0)) return false;
            /*取后一半的数,进行翻转操作,翻转操作.
           超过一半的话结束,一半的条件如何获取?
           假设1221,取出后两位21 翻转成12 此时刚好与前面的12相等
           这时如果再取出一位2,就比原来的数字大了,这时候就超过了一半
           所以原来的数>取出后翻转的数,在这个范围内,都可以进行翻转
           */
           
            // 翻转操作。
            int rev = 0;
    
            while(x>rev){
                int pop = x%10;
                x/=10;
                rev = rev*10+pop;
            }
            // 偶数的情况 翻转之后刚好相等 即x==rev
            // 奇数的情况 翻转之后的数比原先的数多了一位中间的值 如121
            //翻转之后的数位12 之前还剩下 1  这时只需要将12/10取整 再比较。
            return x==rev||x==rev/10;
    
        }
    
        //字符串解法
        public boolean isPalindrome01(int x){
            System.out.println("****字符串解法****");
            String reversedStr = (new StringBuilder(x+"")).reverse().toString();
            return (x+"").equals(reversedStr);
        }
    
  • 相关阅读:
    JDK历史版本下载
    安装cocoapods及相关问题解决
    使用spring注解@Controller @Service @Repository简化配置
    自己动手编写spring IOC源码
    利用反射手写代码实现spring AOP
    浅谈系统架构<一>
    spring 声明式事务管理详解
    eclipse中SSH三大框架环境搭建<二>
    eclipse中SSH三大框架环境搭建<三>
    轻松理解spring IOC
  • 原文地址:https://www.cnblogs.com/summerday152/p/11986270.html
Copyright © 2011-2022 走看看