博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7. Reverse Integer
阅读量:5257 次
发布时间:2019-06-14

本文共 961 字,大约阅读时间需要 3 分钟。

Given a 32-bit signed integer, reverse digits of an integer.

给定一个32位有符号整数,将整数的每位反转,如下:

Example 1:

Input: 123Output:  321

Example 2:

Input: -123Output: -321 

Example 3:

Input: 120Output: 21

注意:

假设翻转后超出32位有符号数的范围(溢出),那么返回0.

大神代码:

public int reverse(int x){    int result = 0; while (x != 0) { int tail = x % 10; int newResult = result * 10 + tail; if ((newResult - tail) / 10 != result) { return 0; } result = newResult; x = x / 10; } return result; } 我的代码(主要难点在于溢出的判定)

class Solution {

public int reverse(int x) {
int result=0;
double temp=0;
int sum=0;
int length=String.valueOf(x).length();
if (x<0)
length=length-2;
else
length=length-1;
while(x/10!=0) {
temp=(x%10)*(Math.pow(10, length));
sum=(int) (temp+result);
if(Math.abs(temp)>Math.abs(sum)-Math.abs(result))
return 0;
result+=temp;
x/=10;
length--;
}
sum=result+x;
if(Math.abs(x)>Math.abs(sum)-Math.abs(result))
return 0;
result+=x;
return result;
}
}

 

转载于:https://www.cnblogs.com/mafang/p/8470871.html

你可能感兴趣的文章
CF E2 - Array and Segments (Hard version) (线段树)
查看>>
Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
查看>>
SIGPIPE并产生一个信号处理
查看>>
CentOS
查看>>
Linux pipe函数
查看>>
java equals 小记
查看>>
爬虫-通用代码框架
查看>>
2019春 软件工程实践 助教总结
查看>>
YUV 格式的视频呈现
查看>>
现代程序设计 作业1
查看>>
在android开发中添加外挂字体
查看>>
Zerver是一个C#开发的Nginx+PHP+Mysql+memcached+redis绿色集成开发环境
查看>>
多线程实现资源共享的问题学习与总结
查看>>
java实现哈弗曼树
查看>>
转:Web 测试的创作与调试技术
查看>>
python学习笔记3-列表
查看>>
程序的静态链接,动态链接和装载 (补充)
查看>>
关于本博客说明
查看>>
线程androidAndroid ConditionVariable的用法
查看>>
转载:ASP.NET Core 在 JSON 文件中配置依赖注入
查看>>