Leetcode_Reverse Integer[easy]
来源:互联网 发布:防火墙udp端口4950 编辑:程序博客网 时间:2024/06/07 00:41
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Analysis: please consider the overflows, the 32 bits integers are from -2^(31) to 2^(31)-1
the first version:
int reverse(int x) { if(x == -2147483648) // -x = x = 10000000_00000000_00000000_00000000 { return 0; } int y = (x < 0)?(-x):x; int reverseDigits = 0; while(y >= 10) { reverseDigits = y%10 + reverseDigits*10; y = (y - y%10)/10; } if((reverseDigits > 214748364) || ((reverseDigits == 214748364)&&(y > 7)))// to avoid the overflow { return 0; } reverseDigits = reverseDigits*10 + y; reverseDigits = (x < 0)?(-reverseDigits):reverseDigits; return reverseDigits;}
Runtime: 6 ms
Comparison: beats 24.74%
the second version is to use a long integer to memorize the result. The code is simple
int reverse(int x) { long long reverseDigits = 0; while(x != 0) { reverseDigits = x%10 + reverseDigits*10; x = (x - x%10)/10; } if((reverseDigits > 2147483647) || (reverseDigits < -2147483648))// to avoid the overflow { return 0; } return reverseDigits;}Runtime: 6ms
Comparison: 24.74%
0 0
- Leetcode_Reverse Integer[easy]
- leetcode_Reverse Integer
- LeetCode_Reverse Integer
- LeetCode_Reverse Integer
- leetcode_reverse Integer
- leetcode_Reverse Integer
- Leetcode_Reverse Integer(考虑了溢出情况)
- Reverse Integer [Easy]
- 【Leetcode】Reverse Integer(easy)
- Reverse Integer(EASY)
- 7. Reverse Integer Easy
- 2.[easy] Reverse Integer
- Leetcode[Easy] -- Roman to Integer
- [Leetcode 7, Easy] Reverse integer
- 【LeetCode】(7)Reverse Integer(Easy)
- leetcode_13_Roman to Integer(C++)(easy)
- 7. Reverse Integer [easy] (Python)
- Easy 7题 Reverse Integer
- 使用Shell进行Mysql间数据以文本形式传输及注意事项
- 常见Oracle日期处理问题
- kernel 源码浏览网站
- 201503-2 试题名称:数字排序(100分)ccf认证
- 郝斌的C语言基础 134 确定一个一维数组需要几个参数
- Leetcode_Reverse Integer[easy]
- css盒子模型学习笔记
- FFmpeg的H.264解码器源代码简单分析:解析器(Parser)部分
- 一个BaseActivity的诞生
- 如何连接局域网内的 MySQL
- 关于逆置数组问题
- go中容易犯的错误
- 控件事件
- python 读取文本进行处理