没有对比就没有伤害

判断一个数是否是回文数

http://www.nowcoder.com/questionTerminal/edf5475ef713445f9a040cc37a98a4b7

思路之一:
1、如何得到最高位和最低位数字? 利用 % 和 / 运算
2、如何去除最高位和最低位数字? 利用 % 和 / 运算
3、循环
4、看代码注释

import java.util.*;
import java.io.*;

public class Main{

    public static void main(String[] args) throws IOException{

        BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
        int n=Integer.parseInt(bf.readLine());
        if(isHw(n)){
            System.out.print("Yes");
        }else{
            System.out.print("No");
        }
    }

    public static boolean isHw(int n){
        //如果是负数最小值直接返回false
        //负数最小值的绝对值会越界
        if(n==Integer.MIN_VALUE){
            return false;
        }
        if(n>-10&&n<10){
            return true;
        }
        int num =n;
        if(n<0){
            //负数变正数
            num = -n;
        }
        int help = 10;
        //求与num的相同位数的help
        while(num/help>=10){
            help = help*10;
        }

        while(num>0){
            //最高位数字
            int left = num/help ;
            //最低位数字
            int right = num%10;
            if(left!=right){
                return false;
            }
            //去除最高位和最低位后的值
            num = (num%help)/10;
            //help位数减2,保持与num相同的位数
            help = help/100;
        }

        return true;
    }

}
全部评论

相关推荐

Dream_coding:你是不是只投大厂了
点赞 评论 收藏
分享
02-22 18:38
门头沟学院 Java
程序员牛肉:标准的NPC简历,一个短链接+12306。你可以在牛客上面搜一搜有多少人的简历和你一样。你自己能不能给出你一个理由让面试官在大家简历高度相同的情况下,选择约面你而不是对应的211,985学生? 是因为你即将拥有的那段小厂实习吗?这种小厂实习真的很有含金量吗?因此你可以找实习,但是你如果只能找到小厂实习的话,其实意义不太大。 但你的时间是充足的,相信我:从现在到今年的九月份大三上你就干两个事情:"写博客"+“参加开源之夏”。这两个搞好了不亚于一段大厂实习的含金量。 想要让自己变得更强,首先就是不要把自己当打工人看待,让自己简历上面的活人气息更多一点,不要让自己成为流水线的产物。你不是在出售你的技能,你是在利用你的技能和公司达成一种合作关系。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务