Skip to content

Commit 0232be9

Browse files
committed
reverse_integer
1 parent 913a9fc commit 0232be9

File tree

3 files changed

+50
-0
lines changed

3 files changed

+50
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ leetcode for golang
88
#### [4. median of two sorted arrays](https://github.com/hitzzc/go-leetcode/tree/master/median_of_two_sorted_arrays)
99
#### [5. longest palindromic substring](https://github.com/hitzzc/go-leetcode/tree/master/longest_palindromic_substring)
1010
#### [6. zigzag conversion](https://github.com/hitzzc/go-leetcode/tree/master/zigzag_conversion)
11+
#### [7. reverse integer](https://github.com/hitzzc/go-leetcode/tree/master/reverse_integer)
1112

1213

reverse_integer/reverse_integer.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package reverse_integer
2+
3+
func reverse(x int) int {
4+
sign := 1
5+
tmp := x
6+
if x < 0 {
7+
sign = -1
8+
tmp = -1 * x
9+
}
10+
list := []int{}
11+
for tmp > 9 {
12+
list = append(list, tmp%10)
13+
tmp = tmp / 10
14+
}
15+
list = append(list, tmp)
16+
ret := 0
17+
for i := 0; i < len(list); i++ {
18+
ret = 10*ret + list[i]
19+
}
20+
return ret * sign
21+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package reverse_integer
2+
3+
import (
4+
"testing"
5+
)
6+
7+
func TestReverse(t *testing.T) {
8+
tests := []int{
9+
123,
10+
-123,
11+
0,
12+
-1,
13+
1534236469,
14+
}
15+
results := []int{
16+
321,
17+
-321,
18+
0,
19+
-1,
20+
9646324351,
21+
}
22+
caseNum := 5
23+
for i := 0; i < caseNum; i++ {
24+
if ret := reverse(tests[i]); ret != results[i] {
25+
t.Fatalf("case %d failed\nactual: %d, expect: %d\n", i, ret, results[i])
26+
}
27+
}
28+
}

0 commit comments

Comments
 (0)