public int reverse2(int x) {
double ans=0;
int flag=1;
if(x<0){
flag=-1;
}
x=x*flag;
while(x>0) {
ans = 10 * ans + x % 10;
x = x / 10;
}
if(ans>Integer.MAX_VALUE){//判断是否溢出
System.out.println(ans);
return 0;
}
else
return (int)(flag*ans);
}
如上所示,因为double范围比int大很多,所以使用double来判断是否溢出很简单。
微信扫码关注公众号,后台回复「电子书福利」,35本深度学习、机器学习、自然语言处理、算法领域的经典电子书,我们将一次性统统分享给大家!