判断数据是否溢出
public int reverse(int x){
int size=0;
int result=0;
boolean boo=true;
if (x==0){
return 0;
}
int temp=x;
while (temp!=0){
temp/=10;
// 注意:这个判断不能在while循环之前,因为可能存在溢出问题
if (temp<0){
temp=-temp;
boo=false;
}
size++;
}
int[]arr=new int[size];
for (int i=0;i<size;i++){
arr[i]=Math.abs(x%10);
x/=10;
}
int num=1;
for (int i=size-1;i>=0;i--){
result+=arr[i]*num;
num*=10;
}
// 判断数据是否溢出。
// 若没有溢出,最后数据的个位数应该是变换之前数据的最高位
// 若不是,就说明数据溢出了,直接返回0
if (arr[size-1]!=result%10){
return 0;
}
return boo?result:(0-result);
}
// 判断数据是否溢出。
// 若没有溢出,最后数据的个位数应该是变换之前数据的最高位
// 若不是,就说明数据溢出了,直接返回0
if (arr[size-1]!=result%10){
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界