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);
        }
    
  • 相关阅读:
    jar包打包成exe示例(基于maven项目)
    助教小工具
    HUST软件测试1504班: 第0周作业成绩
    软件质量与测试2018春第0周作业1:开设博客
    RobotFramework学习-问题
    Java读取本地文件乱码的解决方案
    滑动窗口模板题(对读写性能要求贼高)
    Invalid index name [xxx], must be lowercase
    Java自动装箱和自动拆箱的理解
    TKMabatis坑
  • 原文地址:https://www.cnblogs.com/summerday152/p/11986270.html
Copyright © 2011-2022 走看看