Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7]
is
rotated to [5,6,7,1,2,3,4]
.
class Solution {
public:
void rotate(int nums[], int n, int k) {
deque<int> result;
for( int i = 0; i<n; i++){
result.push_back(nums[i]);
}
while(k!=0){
int j = result.back();
result.push_front(j);
result.pop_back();
k--;
}
for( int i = 0; i<n; i++){
nums[i] = result[i];
}
}
};