leetcode每日一题:(7)Reverse Integer
来源:互联网 发布:深度睡眠软件 编辑:程序博客网 时间:2024/06/05 14:38
##Reverse Integer
## Question
- leetcode: [Reverse Integer | LeetCode OJ](https://leetcode.com/problems/reverse-integer/)
- lintcode: [(413) Reverse Integer](http://www.lintcode.com/en/problem/reverse-integer/)
### Problem Statement
Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer).
#### Example
Given x = 123, return 321
Given x = -123, return -321
Have you thought about this?
Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!
If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.
Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?
For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the **reversed integer overflows**.
## 题解
如题目中所提示的,要考虑一下溢出的处理。
### C++
```
class Solution {
public:
int reverse(int x) {
const int min = 0x80000000;
const int max = 0x7FFFFFFF;
long s = 0;
while(x != 0){
if (x >= min && x <= max){
int temp = x % 10;
s = s * 10 + temp;
x = (x - temp) / 10;
if(s < min || s > max){
s = 0;
break;
}
}
else{
s = 0;
break;
}
}
return s;
}
};
```
###Error分析:
![Error](http://upload-images.jianshu.io/upload_images/5831288-cd08bd279bd62ea0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
当执行到s = 964632435,此时还没有溢出,如果继续s * 10 + temp,此时s肯定会溢出,因此会报错。因此增加了一个判断s是否溢出。
32位int范围:-2147483648~2147483647。
## Question
- leetcode: [Reverse Integer | LeetCode OJ](https://leetcode.com/problems/reverse-integer/)
- lintcode: [(413) Reverse Integer](http://www.lintcode.com/en/problem/reverse-integer/)
### Problem Statement
Reverse digits of an integer. Returns 0 when the reversed integer overflows (signed 32-bit integer).
#### Example
Given x = 123, return 321
Given x = -123, return -321
Have you thought about this?
Here are some good questions to ask before coding. Bonus points for you if you have already thought through this!
If the integer's last digit is 0, what should the output be? ie, cases such as 10, 100.
Did you notice that the reversed integer might overflow? Assume the input is a 32-bit integer, then the reverse of 1000000003 overflows. How should you handle such cases?
For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the **reversed integer overflows**.
## 题解
如题目中所提示的,要考虑一下溢出的处理。
### C++
```
class Solution {
public:
int reverse(int x) {
const int min = 0x80000000;
const int max = 0x7FFFFFFF;
long s = 0;
while(x != 0){
if (x >= min && x <= max){
int temp = x % 10;
s = s * 10 + temp;
x = (x - temp) / 10;
if(s < min || s > max){
s = 0;
break;
}
}
else{
s = 0;
break;
}
}
return s;
}
};
```
###Error分析:
![Error](http://upload-images.jianshu.io/upload_images/5831288-cd08bd279bd62ea0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
当执行到s = 964632435,此时还没有溢出,如果继续s * 10 + temp,此时s肯定会溢出,因此会报错。因此增加了一个判断s是否溢出。
32位int范围:-2147483648~2147483647。
0 0
- leetcode每日一题:(7)Reverse Integer
- Reverse Integer Leetcode 每日一题 ↖(^ω^)↗
- 每日一练之Reverse Integer[LeetCode No.7]-翻转整数
- LeetCode 7 - Reverse Integer
- LeetCode(7) Reverse Integer
- leetcode 7REVERSE INTEGER
- [leetcode 7] Reverse Integer
- [Leetcode] 7 - Reverse Integer
- LeetCode 7:《Reverse Integer》
- [leetcode 7] Reverse Integer
- LeetCode | #7 Reverse Integer
- leetcode.7-----------Reverse Integer
- LeetCode 7: Reverse Integer
- leetcode-7 Reverse Integer
- leetcode(7)Reverse Integer
- LeetCode 7 - Reverse Integer
- leetcode 7 Reverse Integer
- leetcode #7 Reverse Integer
- “浏览器设置从上次停下的地方继续,但是电脑重启打开后还是主页”问题的解决办法
- javascript自定义右键菜单并屏蔽默认右键菜单【原创】
- TypeScript设计模式之门面、适配器
- PLSQL执行SQL文件。
- Visual Studio 20周年软件趋势随想
- leetcode每日一题:(7)Reverse Integer
- Oracle基本数据类型和特殊数据类型
- C++ string 类 部分成员函数实现(实现COW copy-on-write)
- base 镜像
- Oracle 高级查询
- JavaBean
- 读书笔记-《深入理解Java虚拟机》-JVM内存模型
- Ancient Go UESTC
- CSS3 多列