Kaynağa Gözat

add 'Reverse Integer'

tangs 5 yıl önce
ebeveyn
işleme
61b378db08
1 değiştirilmiş dosya ile 42 ekleme ve 0 silme
  1. 42 0
      tags/math/reverseInteger/main.go

+ 42 - 0
tags/math/reverseInteger/main.go

@@ -0,0 +1,42 @@
+package main
+
+import "fmt"
+
+func main() {
+	var num int
+
+	num = 123
+	fmt.Println(reverse(num))
+
+	num = -123
+	fmt.Println(reverse(num))
+
+	num = 120
+	fmt.Println(reverse(num))
+
+	num = 1534236469
+	fmt.Println(reverse(num))
+}
+
+func reverse(x int) int {
+	var digit = x
+	if x < 0 {
+		digit = -x
+	}
+	var ans int
+	for {
+		if digit/10 == 0 && digit%10 == 0 {
+			break
+		}
+		ans = ans*10 + digit%10
+		digit /= 10
+	}
+
+	if x < 0 {
+		ans = -ans
+	}
+	if ans > 2147483647 || ans < -2147483648 {
+		return 0
+	}
+	return ans
+}