题目如下:
这个题比较简单,一种是通过数学的方法:x % 10 ,x // 10 来循环构建反转整数,一种是转换为str后进行处理。 需要注意的两点:
- 如果输入整数只有一位,那么可以直接将输入输出不进行处理。
- 处理转换后的溢出。
参考代码如下:
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))
ps:如果您有好的建议,欢迎交流 :-D,也欢迎访问我的个人博客:tundrazone.com