leetcode之整数反转Golang
在使用GO解决这道题之前,需要明白一件事,那就是在GO语言中int的取值范围,在GO语言中,int的取值范围是和机器有关的,在32位机里面,int类型占4个字节相当于Inte32,在64位机里面,int类型占8个字节,相当于int64,所以在本题中参数和返回值给的类型都是int是能够满足32位的要求的
int32的取值范围是-2147483648~2147483647
用GO解决这道题的另一个方便之处在于GO语言中取余以后不需要判断正负,例如:
3%4=3
-3%4=-3
也就是说,被除数是正的,那么取余结果就是正的,被除数是负的,那么取余结果就是负的(虽然按照我们正常的思想-3%4=1)
然后就是反转这个整数,这就很容易了,循环取余和整除,就能得到每一位数字,然后将他反转就行了
代码如下:
func reverse(x int) int { posMax := 2147483647 negMax := -2147483648 copyX, retV := x, 0 for copyX != 0 { retV = retV*10 + (copyX % 10) copyX /= 10 } if retV > posMax || retV < negMax { return 0 } return retV }
相关推荐
GoatSucker 2020-11-23
CoderToy 2020-11-16
蛰脚踝的天蝎 2020-11-10
ZGCdemo 2020-11-09
86193952 2020-10-27
Lzs 2020-10-23
hjr 2020-10-21
HELLOBOY 2020-10-21
qidiantianxia 2020-10-21
cmsmdn 2020-10-21
myspace 2020-10-21
笑面依旧 2020-10-21
专注前端开发 2020-10-21
技术之博大精深 2020-10-16
zhushenghan 2020-11-09
风雨断肠人 2020-10-13
xuguiyi00 2020-11-04
sichenglain 2020-10-27