007-Reverse Integer 整数反转

Description

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

NOTE

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。 请根据这个假设,如果反转后整数溢出那么就返回 0。

Example
输入: 123
输出: 321


输入: -123
输出: -321

输入: 1534236469
输出: 0
Solution
func reverse(x int) int {
    result := 0
    negative := false
    if x < 0 {
        negative = true
        x = -x
    }
    for  x > 0 {
        result = result * 10 + x%10
        x = x/10
    }
    if negative {
        result = - result
    }
    if result > math.MaxInt32 || result < math.MinInt32 {
        return 0
    }
    return result
}

leetCode地址