原题
https://leetcode.cn/problems/reverse-integer/description/
思路
循环
复杂度
时间:O(n)
空间:O(1)
Python代码
class Solution:
def reverse(self, x: int) -> int:
ans = 0
flag = 1 if x >= 0 else -1
x = abs(x)
while x != 0:
digit = x % 10
ans = 10 * ans + digit
x //= 10
ans *= flag
if ans > 2** 31 - 1 or ans < -2**31:
return 0
return ans
Go代码
func reverse(x int) int {
ans := 0
var flag int
if x >= 0 {
flag = 1
} else {
flag = -1
x = -x
}
for x != 0 {
digit := x % 10
ans = 10 * ans + digit
x /= 10
}
ans *= flag
if ans > math.MaxInt32 || ans < math.MinInt32 {
return 0
}
return ans
}
349

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



