题目
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。如果反转后整数溢出那么就返回 0
举例
- 输入: 123 输出: 321
- 输入: -123 输出: -321
- 输入: 120 输出: 21
解析
不断对10取余
GO解答
func reverse(x int) int {
max := 1 << 31
min := 0 - max
rev := 0
for {
if (x == 0) {
break
}
rev = rev * 10 + x % 10
if (rev > max || rev < min) {
return 0
}
x = x / 10
}
return rev
}