class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
a = list(str(x))
if len(a) == 1: # 判断是几位数
return x # 若一位数则不反转直接输出
else:
if a[0] == '-': # 判断是否是负数
b = a[1:] # 将负号丢弃
b.reverse() # 然后反转
b.insert(0, '-') # 反转后再加上负号
elif a[-1] == '0': # 判断是否末尾是0
b = a[:-1] # 将0丢弃
b.reverse() # 再进行反转
else:
b = a # 若前面两种情况都不是则直接赋值给b
b.reverse() # 反转
result = int("".join(b)) #先将列表b转换成字符串b,再由字符串b转换成int型
if (-2**31 <= result <=2**31-1): # 判断反转后的数是否超出范围,若超出则返回0,反之返回反转的数
return result
else:
return 0
print(Solution.reverse(Solution,123))