1. 程式人生 > >顛倒整數 go語言

顛倒整數 go語言

給定一個 32 位有符號整數,將整數中的數字進行反轉。

示例 1:

輸入: 123
輸出: 321

示例 2:

輸入: -123
輸出: -321

注意:

假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231,  231 − 1]。根據這個假設,如果反轉後的整數溢位,則返回 0。
func reverse(x int) int {
    var tmp = 0
    max := int32(^uint32(0) >> 1)
    min := ^max
    for ; x != 0; {
        var n = tmp*10 + x%10
        x = x / 10
        if n/10 != tmp {
	return 0
        }
        tmp = n
        if tmp > int(max) {
	return 0
        }
        if tmp < int(min) {
	return 0
        }
    }
    return tmp
}