Reverse Integer
来源:互联网 发布:jdk 7u51 windows x32 编辑:程序博客网 时间:2024/06/06 04:42
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
第一次提交代码如下,但是有一些用例没有通过
class Solution {public: int reverse(int x) { const int max = 0x7fffffff; //int最大值 const int min = 0x80000000; //int最小值 int sum = 0; while(x != 0) { int temp = x % 10; sum = sum * 10 + temp; if (sum > max || sum < min) //溢出处理 { sum = sum > 0 ? max : min; return sum; } x = x / 10; } return sum; }};
后来修改了代码:
class Solution {public: int reverse(int x) { const int max = 0x7fffffff; //int最大值 const int min = 0x80000000; //int最小值 int sum = 0; while(x != 0) { int temp = sum * 10 + x % 10; x = x / 10; if ( temp / 10 != sum ) //溢出处理 { sum = 0; break; } sum = temp; } return sum; }};
注意
- 在处理整数的时候,需要选取适当的类型,例如:unsigned int 或者 long long int
- 考虑到数字范围溢出的情况的判断的方法,如上
- 清除每种类型的取值范围,可以使用十六进制表示其范围
0 0
- Reverse Integer
- Reverse Integer
- Reverse Integer
- reverse integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- Reverse Integer
- reverse Integer
- Reverse Integer
- Reverse integer
- Reverse Integer
- Reverse Integer
- maven+springMVC+hibernate工程搭建(四简单base层实现及demo)
- 设计模式之15 - 解释器模式Interpreter
- python 函数参数传值还是传引用
- 4.电话拨号器的实现
- Linux下配置防火墙
- Reverse Integer
- spring切面:注解:最终增强
- matlab中cell数组的全面介绍
- Java虚拟机学习(5):内存调优
- MySQL入门之调用思路
- 【LeetCode】 046. Permutations
- 设计模式之16 - 迭代器模式Itertor
- MVP+RxJava+Dagger打造的Android Album
- 5.模拟短信发送