本文共 576 字,大约阅读时间需要 1 分钟。
目录
给出一个32位的有符号整数,将这个整数中每位上的数字进行反转。如果给出的数字溢出,返回0。
输入/输出描述:
输入:
123
输出:
321
将输入的数据转换成字符串后逆序,并将逆序后的字符串转换成整数。如果整数溢出,则返回0。
注意32位的范围是
func reverse(x int) int { result := "" abs := int(math.Abs(float64(x))) xstr := strconv.Itoa(abs) for i:=len(xstr)-1; i >= 0; i-- { result = result + string(xstr[i]) } if x < 0 { result = "-" + result } resultInt, _ := strconv.Atoi(result) if resultInt > int(math.Pow(2, 31) - 1) || resultInt < int(math.Pow(-2, 31)) { return 0 } return resultInt}
1、正整数测试:
输入1230, 返回321
2、负整数测试:
输入-729,返回-927
3、超大数测试:
输入987654321987654321,返回0
转载地址:http://fdsoi.baihongyu.com/