1 题目描述
2 解题思路
2.1 用字符串过渡
先将整数转成字符串,字符串倒置,再转换成整数
class Solution:
def reverse(self, x: int) -> int:
if(x<0):
s=str(x)[1:]
s=s[::-1]
ret=-1*int(s)
#处理负数
elif(x==0):
return(0)
#处理0
else:
s=str(x)
s=s[::-1]
ret=int(s)
#处理正数
if(ret<-1*pow(2,31) or ret>pow(2,31)-1):
return 0
else:
return ret
2.2 一位一位处理
记我们要返回的是ret
每次将x的最后一位移到ret内,x再向右移动一位
class Solution:
def reverse(self, x: int) -> int:
flag=1
#flag表示是正数还是负数
if(x<0):
flag=-1
x=-x
ret=0
while(x!=0):
ret=ret*10+x%10
x=x//10
ret=ret*flag
if(ret<-1*pow(2,31) or ret>pow(2,31)-1):
return 0
else:
return ret