题目
给你一个 32 位的有符号整数 x
,返回将 x
中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1]
,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
示例 2:
示例 3:
示例 4:
提示:
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
代码
Go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| package main
import "fmt" import "math" import "strconv"
func reverse(x int) int { xString := strconv.Itoa(int(math.Abs(float64(x)))) var r string
for i := len(xString) - 1; i >= 0; i-- { r += xString[i : i+1] }
result, _ := strconv.Atoi(r)
pre := 1 if x < 0 { pre = -1 }
if float64(result) < math.Pow(-2, 31) || float64(result+1) > math.Pow(2, 31) { return 0 }
return result * pre }
func main() { fmt.Println(reverse(0)) fmt.Println(reverse(123)) fmt.Println(reverse(-123)) fmt.Println(reverse(120)) }
|