File tree Expand file tree Collapse file tree 1 file changed +21
-9
lines changed
Expand file tree Collapse file tree 1 file changed +21
-9
lines changed Original file line number Diff line number Diff line change 11class Solution {
22 fun rotate (nums : IntArray , k : Int ): Unit {
3- val map = HashMap <Int , Int >()
4- nums.forEachIndexed{ index, value ->
5- map.put((index+ k) % nums.size, value)
6- }
73
8- nums.forEachIndexed{ index, value ->
9- map[index]?.let {
10- nums[index] = it
11- }
12-
4+
5+ var rotateCount = k % nums.size
6+ reverseArray(0 , nums.size - 1 , nums)
7+ reverseArray(0 , rotateCount - 1 , nums)
8+ reverseArray(rotateCount, nums.size - 1 , nums)
9+
10+ }
11+
12+
13+ fun reverseArray (startIndex : Int , endIndex : Int , nums : IntArray ){
14+
15+ var left = startIndex
16+ var right = endIndex
17+
18+ while (left < right){
19+ var first = nums[left]
20+ var second = nums[right]
21+ nums[left++ ] = second
22+ nums[right-- ] = first
1323 }
24+
1425 }
26+
1527}
You can’t perform that action at this time.
0 commit comments