Table of Content
题目如下:
这个题比较简单,一种是通过数学的方法:x % 10 ,x // 10 来循环构建反转整数,一种是转换为str后进行处理。 需要注意的两点:
1. 如果输入整数只有一位,那么可以直接将输入输出不进行处理。
2. 处理转换后的溢出。
参考代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
class Solution: def reverse(self, x): """ :type x: int :rtype: int """ sx = str(x) if len(sx) == 1: return x sx = sx[::-1] if sx[0] == '0': sx = sx[1:] if sx[-1] == '-': sx = sx[:-1] sx = '-' + sx rev_int = int(sx) if rev_int <= 2 ** 31 - 1 and rev_int >= -(2 ** 31): return rev_int else: return 0 # test: s = Solution() print(s.reverse(120)) |