7. 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321


 示例 2:

输入: -123
输出: -321


示例 3:

输入: 120
输出: 21


注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31,  2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。


 思路:

−2^31 =  -2147483648

2^31 − 1 = 2147483647

 1 class Solution(object):
 2     def reverse(self, x):
 3         """
 4         :type x: int
 5         :rtype: int
 6         """
 7         # 处理负数
 8         temp = True
 9         if x < 0:
10             temp = False
11             x = abs(x)
12         # 处理被10整除的数
13         while x > 0 and x % 10 == 0:
14             x /= 10
15             x = int(x)
16 
17         ans = 0
18         while x > 0:
19             tar = x % 10
20             x = int(x / 10)
21             ans = ans * 10 + tar
22 
23         if ans > 2147483647 or -ans < -2147483648:
24             return 0
25 
26         if temp:
27             return ans
28         else:
29             return -ans
原文地址:https://www.cnblogs.com/panweiwei/p/12681898.html