Python算法_整数反转(02)

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

示例 1:

输入: 123
输出: 321


示例 2:

输入: -123
输出: -321

 

示例 3:

输入: 120

输出: 21

 

注意:

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

 

 1 class Solution:
 2     def reverse(self, x: int) -> int:
 3         if x == 0:
 4             return 0
 5         flag = 1 if x < 0 else 0
 6         x = abs(x)
 7         str_x = ""
 8         while x > 0:
 9             str_x += str(x % 10)
10             x = x // 10
11         rev = int(str_x)
12         if rev > 2**31-1 or rev < -2**31:
13             return 0
14         if flag:
15             return -rev
16         else:
17             return rev

 

posted @ 2020-10-12 00:21  止一  阅读(144)  评论(0编辑  收藏  举报