[leetcode]反转整数
2018-09-13 20:29
302 查看
给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
示例 2:
示例 3:
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2**31, 2**31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
解法一:
解法二:
示例 1:
输入: 123 输出: 321
示例 2:
输入: -123 输出: -321
示例 3:
输入: 120 输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2**31, 2**31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
解法一:
import sys class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ max_int = 2 ** 31 - 1 # print max_int is_negative = -1 if x < 0 else 1 res = 0 if x < 0: x = x * (-1) while x != 0: p = x % 10 x = x / 10 if is_negative < 0: if res > ((max_int + 1)/10) or (res == ((max_int + 1)/10) and p > ((max_int + 1)%10)): print "1 %s %s" % (res, p) return 0 else: if res > (max_int/10) or (res == (max_int/10) and p > (max_int%10)): print "2 %s %s" % (res, p) return 0 res = res * 10 + p return res * is_negative
解法二:
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ res = cmp(x, 0) * int(str(abs(x))[::-1]) return 0 if res < -2 ** 31 or res >= 2 ** 31 else res
相关文章推荐
- 【LeetCode】- Reverse Integer(将一个整数反转)
- LeetCode 7 :Reverse Integer ---- 反转int整数
- LeetCode--Reverse Integer(整数反转)Python
- [leetcode 7] Reverse Integer(整数反转) c函数实现
- LeetCode - 7. 反转整数
- [leetcode] Reverse Integer 反转一个整数
- LeetCode 7. Reverse Integer(整数反转)
- Leetcode Reverse Integer 反转整数
- [LeetCode-7] Reverse Integer(反转整数)
- (LeetCode)反转整数
- LeetCode 7. Reverse Integer 整数反转
- (LeetCode)Reverse Integer --- 反转整数
- 【leetcode】Reverse Integer整数反转----Java代码实现
- LeetCode Reverse Integer 反转整数
- leetcode 7. Reverse Integer整数反转
- LeetCode第七题--反转32位的整数
- leetcode reverse Integer(反转整数)
- LeetCode里的7.反转整数问题 Java15行
- LeetCode7——Reverse Integer(将一个整数反转,注意溢出的处理)