题目:
Given a 32-bit signed integer, reverse digits of an integer.
python代码:
class Solution:
def reverse(self, x: int) -> int:
Res = 0
flag = 1
if x<0:
x = abs(x)
flag = -1
while x != 0:
Res = Res*10+x%10
x = x//10
if -2147483648 < Res < 2147483647:
return Res*flag
else:
return 0
分析上面的代码:
拿123为例子
第一步:
Res = Res10+x%10
= 010 + 123%10
= 0 + 3
= 3
x = x // 10
= 123 // 10
= 12
第二步:
Res = Res10 + x%10
= 310 + 12%10
= 30 + 2
= 32
x = x // 10
= 12 // 10
= 1
第三步:
Res = Res10 + x%10
= 3210 + 1%10
= 320 + 1
= 321
x = x //10
= 1 // 10
= 0
return Res x flag = 321 x 1 = 321
这样就能把数字转换过来。
如果觉得不错,就点赞或者关注或者留言~
谢谢~