File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change
1
+ import java .util .*;
2
+
3
+ // Time Complexity: O(N), Space Complexity: O(1)
4
+ class Solution {
5
+ public void rotate (int [] nums , int k ) {
6
+ k %= nums .length ;
7
+
8
+ reverse (nums , 0 , nums .length - 1 );
9
+ reverse (nums , 0 , k - 1 );
10
+ reverse (nums , k , nums .length - 1 );
11
+ }
12
+
13
+ public void reverse (int [] nums , int l , int r ) {
14
+ while (l < r ) {
15
+ int temp = nums [l ];
16
+ nums [l ] = nums [r ];
17
+ nums [r ] = temp ;
18
+ l ++;
19
+ r --;
20
+ }
21
+ }
22
+ }
23
+
24
+ // Time Complexity: O(N), Space Complexity: O(N)
25
+ class Solution {
26
+ public void rotate (int [] nums , int k ) {
27
+ int n = nums .length ;
28
+ k %= n ;
29
+ int [] copyNums = new int [n ];
30
+
31
+ int index = 0 ;
32
+ for (int i = n - k ; i < n - k + n ; i ++) {
33
+ copyNums [index ++] = nums [i % n ];
34
+ }
35
+ for (int i = 0 ; i < n ; i ++) {
36
+ nums [i ] = copyNums [i ];
37
+ }
38
+ }
39
+ }
You can’t perform that action at this time.
0 commit comments