LeetCode——Reverse Integer
2018-02-25 16:04
411 查看
LeetCode——Reverse Integer
# 7Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123 Output: 321
Example 2:
Input: -123 Output: -321
Example 3:
Input: 120 Output: 21
Note:
Assume we are dealing with an environment which could only hold integers within the 32-bit signed integer range. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
整数的反转,思路是很简单的,难点是考虑反转之后的溢出。可以使用long long型数据。
C++
class Solution { public: int reverse(int x) { long long res = 0; bool isPositive = true; if(x < 0) { isPositive = false; x = x * -1; } while(x > 0) { res = res * 10 + x % 10; x = x / 10; } if(res > INT_MAX) return 0; if(isPositive) return res; else return -res; } };
另一种简洁的做法,是不考虑符号位。
-C++
class Solution { public: int reverse(int x) { int res = 0; while (x != 0) { if (abs(res) > INT_MAX / 10) return 0; res = res * 10 + x % 10; x /= 10; } return res; } };
也可以将两种结合在一起。
-C++
class Solution { public: int reverse(int x) { long long res = 0; while (x != 0) { res = 10 * res + x % 10; x /= 10; } return (res > INT_MAX || res < INT_MIN) ? 0 : res; } };
相关文章推荐
- LeetCode 第7题 Reverse Integer (easy)——python
- Leetcode Reverse Integer
- LeetCode Reverse Integer
- Leetcode在线编程 reverse-integer
- LeetCode Reverse Integer
- [LeetCode] [Reverse Integer 2011-12-25 ]
- (LeetCode)Reverse Integer --- 反转整数
- leetcode-007-Reverse Integer
- leetcode(7)Reverse Integer
- Reverse Integer(leetcode7)
- LeetCode之“数学”:Reverse Integer && Reverse Bits
- 算法分析与设计课程——LeetCode刷题之Reverse Integer
- LeetCode之Reverse Integer
- [LeetCode] Number of 1 Bits & Reverse Integer - 整数问题系列
- Reverse Integer--LeetCode
- Reverse Integer Leetcode Python Java
- leetcode——Reverse Integer 反转整数数字(AC)
- [leetcode]Reverse Integer @ Python
- Reverse Integer 翻转数字@LeetCode
- Reverse Integer--LeetCode