Reverse Integer
题目描述
给你一个数,需要将这个整数中的每位上的数字进行反转。但是如果反转范围不在[-231, 231-1]这个区间时,则表明已经溢出,则需要返回0。
解题思路
很暴力的解法,不需要什么算法。直接每次t=x%10, x=x/10
循环就好。代码如下。
var minInterger int
var maxInterger int
func init(){
minInterger = 0-(1<<31)
maxInterger = (1<<31)-1
}
func reverse(x int)int{
/*if x < minInterger || x > maxInterger {
return 0
}*/
var flag bool
if x < 0 {
flag = true
x = -x
}
var res int
for x > 0 {
res = res*10 + (x%10)
x /= 10
}
if flag {
res = -res
}
if res < minInterger || res > maxInterger{
res = 0
}
return res
}