leetcode之整数反转Golang

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
}

  

以上是关于leetcode之整数反转Golang的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode Golang 7. 整数反转

LeetCode——7 Java之整数反转

LeetCode 4.反转整数

2021-09-11:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。反转后整数超过 32 位的有符号整数的范围就返回0,假设环境不允许存储 64 位整数(有符号或无符号)。(代码片段

Leetcode 7. 整数反转-简单

LeetCode7. 整数反转python3