给出一个 32 位的有符号整数, 你需要将这个整数中每位上的数字进行反转.
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数, 则其数值范围为 [−231, 231 − 1]. 请根据这个假设, 如果反转后整数溢出那么就返回 0.
解题:
- class Solution:
- def reverse(self, x):
- """
- :type x: int
- :rtype: int
- """
- if x<0:
- if x>= 0-2**31:
- if int(0-int(str(abs(x))[::-1])) <= 0-2**31:
- return 0
- else:
- return int(0-int(str(abs(x))[::-1]))
- else:
- if x <= 2**31-1:
- if int(str(x)[::-1])> 2**31-1:
- return 0
- else:
- return int(str(x)[::-1])
运行截图:
来源: http://www.bubuko.com/infodetail-2969362.html