Skip to content

Commit b49e007

Browse files
committed
rotate_array
1 parent 1e7dbef commit b49e007

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ Golang solution for leetcode. For each problem, there is a simple *_test.go to t
153153
#### [174. Dungeon Game](https://github.com/hitzzc/go-leetcode/tree/master/dungeon_game)
154154
#### [179. Largest Number](https://github.com/hitzzc/go-leetcode/tree/master/largest_number)
155155
#### [187. Repeated DNA Sequences](https://github.com/hitzzc/go-leetcode/tree/master/repeated_dna_sequences)
156-
156+
#### [189. Rotate Array](https://github.com/hitzzc/go-leetcode/tree/master/rotate_array)
157157

158158

159159

rotate_array/rotate_array.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package rotate_array
2+
3+
func rotate(nums []int, k int) {
4+
k %= len(nums)
5+
reverse(nums, 0, len(nums)-1)
6+
reverse(nums, 0, k-1)
7+
reverse(nums, k, len(nums)-1)
8+
return
9+
}
10+
11+
func reverse(nums []int, i, j int) {
12+
for ; i < j; i, j = i+1, j-1 {
13+
nums[i], nums[j] = nums[j], nums[i]
14+
}
15+
return
16+
}

0 commit comments

Comments
 (0)