题目 :给你一个 32 位的有符号整数 x,返回将 x 中的数字局部反转后的后果。如果反转后整数超过 32 位的有符号整数的范畴 [−231, 231 − 1],就返回 0。
链接 :力扣 LeetBook—高级算法—字符串—整数反转.
示例 1:
输出:x = 123
输入:321
示例 2:
输出:x = -123
输入:-321
示例 3:
输出:x = 120
输入:21
示例 4:
输出:x = 0
输入:0
标签 :数学
留神 :Go 语言中符号“^”不再用于次方,而是示意“按位异或的运算”,so 不能够用 2^31 示意,在这我就用了 math.Pow 函数
次要 Go 代码如下:
package main
import (
"fmt"
"math"
)
func reverse(x int) int {
sum := 0
for x != 0 {
a := x % 10
sum = sum*10 + a
x = x / 10
Max := int(math.Pow(2, 31) - 1)
Min := int(math.Pow(-2, 31) - 1)
if sum > Max || sum < Min {return 0}
}
return sum
}
func main() {fmt.Println(reverse(321))
}
提交截图 :