因为翻转数字有这么一个问题,翻转后的数字容易溢出,所以我们还要对ans进行判断,那么如何去判断呢,有两个办法。
1:在整型变量ans溢出之前判断;
我们知道int 整型范围为(-2,147,483,648,2,147,483,647),在java中可以用Integer类中MAX_VALUE和MIN_VALUE代替;
因为 ans = ans*10+temp,
如果刚好溢出了,就一定有ans*10+temp>Integer.MAX_VALUE,
两边同时除以10,就剩下ans>Integer.MAX_VALUE/10;
temp/10<1,在整型中变为了0;
如果ans==Integer.MAX_VALUE呢,temp就一定要小于7了,
就相当于2,147,483,640+temp;负数也一样,照理推理就好。