# 189. Rotate Array Leetcode Solution

## Rotate Array Leetcode Problem :

Given an integer array nums, rotate the array to the right by k steps, where k is non-negative.

## Rotate Array Leetcode Solution :

### Constraints :

• 1 <= nums.length <= 10^5
• -2^31 <= nums[i] <= 2^31 – 1
• 0 <= k <= 10^5

### Example 1:

• Input: nums = [-1,-100,3,99], k = 2
• Output: [3,99,-1,-100]

Intuition :

Rotating an array involves shifting its elements to the right by a given number of steps. This can be done in various ways, but the provided code takes a unique approach by using list reversal. The core idea behind this approach is leveraging the power of reversal operations to achieve the rotation. By reversing the entire array and then reversing specific segments, we can effectively rotate the array.

Approach :

Here’s an approach for the given code:

Start by calculating the actual number of rotations needed. This is done by taking the modulus (%) of k with the length of the array nums. This step ensures that k is within the range of valid rotations.

Reverse the entire array nums to bring the elements that need to be moved to the right to the beginning of the array. This step effectively places the last k elements at the front of the array.

Reverse the first k elements in the array. This operation moves the elements that were originally at the end of the array to their correct positions at the beginning.

Finally, reverse the remaining elements after the first k elements. This step ensures that the elements that were initially at the beginning of the array, after the first k rotations, are moved back to their correct positions.

The combination of these three reverse operations achieves the desired rotation of the array to the right by k steps.

By following this approach, we can effectively rotate the array in-place without requiring additional space

### Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

## Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others