概述
目的是将一个整数的数字倒过来。整数也可以是负数。一些例子
Input: 123
Output: 321
Input: 140
Output: 41
Input: -123
Output: -321
Input: 0
Output: 0
以下是我们的策略
-
首先,使输入的数字为正数
-
使用下面的逻辑对数字进行迭代,每次都得到最后一位数字。使用最后一位数字来创建反转的数字
for x > 0 {
lastDigit := x % 10
reversedDigit = reversedDigit*10 + lastDigit
x = x / 10
}
下面是完整的程序。
程序
package main
import (
"fmt"
"math"
)
func main() {
reversedInteger := reverse(123)
fmt.Println(reversedInteger)
reversedInteger = reverse(140)
fmt.Println(reversedInteger)
reversedInteger = reverse(-123)
fmt.Println(reversedInteger)
reversedInteger = reverse(0)
fmt.Println(reversedInteger)
}
func reverse(x int) int {
sign := "positive"
if x >= 0 {
sign = "positive"
} else {
sign = "negative"
}
x = int(math.Abs(float64(x)))
var reversedDigit int
for x > 0 {
lastDigit := x % 10
reversedDigit = reversedDigit*10 + lastDigit
x = x / 10
}
if sign == "negative" {
reversedDigit = reversedDigit * -1
}
return reversedDigit
}
输出
321
41
-321
0