1:题目描述
Given a 32-bit signed integer, reverse digits of an integer
逆序输出数字,范围-2**31~2**32-1
2:解题思路(
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
if x>0: #判断正负数
str_x=str(x) #将数字转为字符串
reverse_x=int(str_x[::-1]) #逆序排列字符串并转为数字
if reverse_x>2**31-1: #判断数字是否溢出
return 0
return reverse_x #返回值
else :
str_x=str(-1*x)
reverse_x=-int(str_x[::-1])
if reverse_x<=-2**31 or x==0:
return 0
else:
return reverse_x
4:解题收获
①学会使用字符反转函数
②溢出指的是输出而不是输入