go

func reverse( x int ) int {
    // write code here
//  符号标识符
    flag := 1

//     负数的话,设置符号标识符,再把负数装维正数
    if x < 0 {
        flag = -1
        x *= -1
    }

    var tmp int
    big := math.MaxInt32

//     开始反转
    for x != 0 {
        tmp = tmp * 10 + x%10
        x /= 10

//         每次反转之后,都要验证是否大于 math.MaxInt32
//         大于,则返回0
        if tmp > big {
            return 0
        }
    }

//     反转的数字带上符号
    return tmp * flag
}