Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public void rotate(int[] nums, int k) {
- int n = nums.length;
- k = k % n; // Handle cases where k > n
- // Reverse the entire array
- reverse(nums, 0, n - 1);
- // Reverse the first k elements
- reverse(nums, 0, k - 1);
- // Reverse the remaining n - k elements
- reverse(nums, k, n - 1);
- }
- 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--;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement