189. Rotate Array 🔄
Last updated
Last updated
nums = [-1,-100,3,99]
k = 2[3,99,-1,-100]class Solution {
public void rotate(int[] nums, int k) {
k = k % nums.length; // In case k > nums.length
reverse(nums, 0, nums.length - 1); // Step 1: Reverse the entire array
reverse(nums, 0, k - 1); // Step 2: Reverse the first k elements
reverse(nums, k, nums.length - 1); // Step 3: Reverse the rest of the array
}
private void reverse(int[] nums, int start, int end) {
while (start < end) {
int temp = nums[start];
nums[start] = nums[end];
nums[end] = temp;
start++;
end--;
}
}
}