整数的反转
2017-11-09 10:04
302 查看
思路1
代码 没有考虑溢出
int reverse(int x) {
int t=x;
int reverse=0;
while(t){
reverse=reverse*10+t%10;
t=t/10;
}
return reverse;
}
代码2 考虑 溢出
int reverse(int x) {
int t=x;
long long reverse=0;
while(t){
int res=reverse*10+t%10;
if((res-t%10)/10!=reverse){ //逆运算判断是否溢出
return 0;
}
reverse=res;
t=t/10;
}
return reverse;
}
代码 没有考虑溢出
int reverse(int x) {
int t=x;
int reverse=0;
while(t){
reverse=reverse*10+t%10;
t=t/10;
}
return reverse;
}
代码2 考虑 溢出
用的是用long类型存储结果,如果结果大于0x7fffffff或者小于0x80000000就溢出
int reverse(int x) {
int t=x;
long long reverse=0;
while(t){
int res=reverse*10+t%10;
if((res-t%10)/10!=reverse){ //逆运算判断是否溢出
return 0;
}
reverse=res;
t=t/10;
}
return reverse;
}
相关文章推荐
- 整数反转的程序
- LintCode python 小白-简单题-413-反转整数
- 按位反转字符串与整数
- 对一个整数按位反转
- 整数二进制位反转
- LeetCode 7. Reverse Integer 整数反转
- 整数反转
- 整数反转算法(php实现)
- 反转一个整数
- [Leetcode #7]Reverse Integer整数反转、逆向打印整数
- 输入一个整数,将各位数字反转后输出
- leetcode_7. Reverse Integer 反转整数的各个数字
- lintcode,反转整数
- Lintcode 反转整数
- 整数反转
- 对一个整数按位反转
- (转贴)反转一个字节 和 判断32位整数二进制中1的个数 的算法
- [leetcode]反转整数
- public class Util Reverse 反转 整数、字节
- C++实现输入一个整数,将各位数字反转后输出