diff options
| -rw-r--r-- | 7/go.mod | 3 | ||||
| -rw-r--r-- | 7/main.go | 33 | 
2 files changed, 36 insertions, 0 deletions
| diff --git a/7/go.mod b/7/go.mod new file mode 100644 index 0000000..b924aab --- /dev/null +++ b/7/go.mod @@ -0,0 +1,3 @@ +module 7 + +go 1.17 diff --git a/7/main.go b/7/main.go new file mode 100644 index 0000000..7bf96b8 --- /dev/null +++ b/7/main.go @@ -0,0 +1,33 @@ +package main + +import "fmt" + +func reverse(x int) int { +	var res int +	var negative bool +	if x < 0 { +		negative = true +		x = x * -1 +	} +	for x > 0 { +		digit := x - ((x / 10) * 10) +		res = res*10 + digit +		if res > (0x1 << 31) { +			return 0 +		} +		x = x / 10 +	} + +	if negative { +		return res * -1 +	} +	return res +} + +func main() { +	fmt.Println(reverse(123)) +	fmt.Println(reverse(-123)) +	fmt.Println(reverse(120)) +	fmt.Println(reverse(1534236469)) + +} | 
