给出一个 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 }