这道题有几个需要注意的点,第一个是对于反转后开头0的处理,这里我使用python,通过字符串对象的replace方法删除头部的0,但是要注意一次只替换一个,不能让它把中间的0也替换掉了。
第二就是对于只有1个输入0的时候,一种方法是单独判断,另一种方法是判断字符串长度如果为0,说明字符串全部由0组成并且都被删除了,这个时候补上即可。
1 class Solution:
2 def reverse(self, x: int) -> int:
3 if x==0:
4 return 0
5 ans=1
6 if x<0:
7 ans=-1
8 x=-x
9 str1=str(x)
10 str1=str1[::-1]
11 while(str1[0]=='0'):
12 str1=str1.replace('0','',1)
13 ans=ans*eval(str1)
14 if ans>(2**31-1):
15 return 0
16 if ans<(0-2**31):
17 return 0
18 return ans
来源:https://www.cnblogs.com/trickofjoker/p/10559775.html