public class Solution {

public void rotate(int[] nums, int k) {

int length;

length = nums.length;

```
int a[] = new int[length];
if(length==1)
{
for(int i = 0; i< length; i++)
{
nums[i]=nums[i];
}
}
else if(length<k)
{
k=k%length;
ArrayList<Integer> blist=new ArrayList<Integer>(length);
for(int i =length-k; i<length;i++)
{
blist.add(nums[i]);
}
for(int i = 0; i<(length-k);i++)
{
blist.add(nums[i]);
}
for(int i = 0; i< length; i++)
{
nums[i]=blist.get(i);
}
}
else
{
ArrayList<Integer> blist=new ArrayList<Integer>(length);
for(int i =Math.abs(length-k); i<length;i++)
{
blist.add(nums[i]);
}
for(int i = 0; i<(length-k);i++)
{
blist.add(nums[i]);
}
for(int i = 0; i< length; i++)
{
nums[i]=blist.get(i);
}
}
}
```

}