一、题目

二、分析
这道题的重点依次从后往前取出数字。用x/10代入循环,用x%10取余。但是需要注意,python的机制有点点特别,详情可见https://blog.youkuaiyun.com/sun___M/article/details/83142126,因此我选择的做法是如果x是负数,先将x=-x,再进行运算。
三、代码
class Solution:
def reverse(self, x: int) -> int:
ans = 0
flag=0
if x<0:
x = -x
flag=1
while x!=0:
ans = ans*10 + x%10
x = int(x/10)
if flag==1:
ans = -ans
if ans<-2**31 or ans > 2**31-1:
return 0
return ans
四、复杂度分析
时间复杂度:O(n)
空间复杂度:O(1)
本文介绍了一种使用Python实现的反转整数的方法。重点在于如何通过循环从后向前取出整数的每一位,并讨论了Python中负数处理的特殊机制。代码实现了对输入整数的反转,同时考虑了32位整数溢出的情况。
195

被折叠的 条评论
为什么被折叠?



