7. Reverse Integer
import math class Solution: def reverse(self, x: int) -> int: ret = 0 if x >=0: x_str = str(x) ret = int(x_str[::-1]) else: x =abs(x) x_str=str(x) ret = -1*int(x_str[::-1]) if ret>=math.pow(2,31)-1 or ret<=-1*math.pow(2,31): return 0 else: return ret if __name__ == '__main__': s = Solution() print(s.reverse(123)) print(s.reverse(-123)) print(s.reverse(120)) print(s.reverse(-120)) print(s.reverse(1534236469))
这里出错的基本都是题目没看清楚,题目说的是如果反转溢出后返回0。这里主要的思路就是将数字转化为字符串,对字符串反转并且保持符号位。