关于数学:Golang力扣LeetBook初级算法字符串整数反转

31次阅读

共计 471 个字符,预计需要花费 2 分钟才能阅读完成。

题目 :给你一个 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))
}

提交截图

正文完
 0