AlgoMaster Logo

Rotate Array

nums=[1, 2, 3, 4, 5, 6, 7],k=3
1public void rotate(int[] nums, int k) {
2    k = k % nums.length;
3
4    // Reverse entire array
5    reverse(nums, 0, nums.length - 1);
6
7    // Reverse first k elements
8    reverse(nums, 0, k - 1);
9
10    // Reverse remaining elements
11    reverse(nums, k, nums.length - 1);
12}
13
14private void reverse(int[] nums, int start, int end) {
15    while (start < end) {
16        int temp = nums[start];
17        nums[start] = nums[end];
18        nums[end] = temp;
19        start++;
20        end--;
21    }
22}
0 / 21
10213243546576