LeetCode 7. Reverse Integer
来源:互联网 发布:网络小额贷款平台 编辑:程序博客网 时间:2024/06/15 10:19
Description
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
Analysis
Two solutions are shown.
The first one may be the most average one. To reduce run time, I delete the zeroes at the end (except 0
itself) and terminate the while
loop early when the result overflows.
The second is to use string
.
The former performs better on the run time as to the test cases.
The key is how to cope with overflow. A convenient way is to store the result in a long
variable.
Code
Version 1 Math
class Solution {public: int reverse(int x) { if (x == 0) return 0; long result = 0; while (x % 10 == 0){ x /= 10; } while (x){ result = result * 10 + x % 10; if (result > INT_MAX || result < INT_MIN) return 0; x /= 10; } return result; }};
Version 2 String
class Solution {public: int reverse(int x) { string s0 = to_string(abs(x)); string s1(s0.rbegin(), s0.rend()); long result = stol(s1); if (x < 0) result = -result; return (result > INT_MAX || result < INT_MIN)? 0 : result; }};
Appendix
- Link: https://leetcode.com/problems/reverse-integer/
- Run Time:
- Version 1: 15ms
- Version 2: 19ms
0 0
- [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
- 7. Reverse Integer LeetCode
- 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
- 17.预处理
- openVR驱动接口之IVRControllerComponent简介
- 常见的排序算法
- 非常详细的 Docker 学习笔记
- LeedCode----169. Majority Element(M)
- LeetCode 7. Reverse Integer
- openVR驱动接口之IVRCameraComponent简介
- 三次握手和四次挥手
- ngx_queue_t
- openVR驱动接口之ICameraVideoSinkCallback简介
- html使用ajax+jsp更新网页部分信息
- python操作数据库之批量导入
- Linux内核分析(六):进程的描述和进程的创建
- cs231n一次课程实践,python实现softmax线性分类器和二层神经网络