給出一個 32 位的有符號整數,你須要將這個整數中每位上的數字進行反轉。好比321轉換爲123
注意:
假設咱們的環境只能存儲得下 32 位的有符號整數,則其數值範圍爲 [−231, 231 − 1]。請根據這個假設,若是反轉後整數溢出那麼就返回 0。spa
用除餘運算計算出每一位的值,以後乘10便可獲得。須要注意判別條件溢出的條件中,除了最後一次計算前,ans要小於最大整數的1/10,還須要保證在ans等於最大整數1/10時,後面加的數小於7,對負數的檢測同理。code
func reverse(x int) int { ans := 0 y :=0 for ;x != 0;{ x,y = x/10,x%10 if ans > math.MaxInt32/10 || (ans == math.MaxInt32 / 10 && y > 7) {return 0} if ans < math.MinInt32/10 || (ans == math.MinInt32 / 10 && y < -8){return 0} ans = ans*10 + y } return ans }