一、问题
给定一个 32 位有符号整数,将整数中的数字进行反转
Example 1:
Input: x = 123
Output: 321
Example 2:
Input: x = -123
Output: -321
Example 3:
Input: x = 120
Output: 21
Example 4:
Input: x = 0
Output: 0
二、解析
1、需要注意“溢出”,由于x是一个整型数,所以x的范围也应该在 -2147483648~2147483647 之间,而x的反转可能会溢出,需要判断是否超出int范围
2、正负号不影响计算
Go 解法
func reverse(x int) int {
res := 0
for {
res = res * 10 + x % 10
x /= 10
if x==0 {
break
}
}
if res < math.MinInt32 || res > math.MaxInt32 {
return 0
}
return res
}