您的位置:首页 > 其它

Rotate Array

2015-09-25 01:43 281 查看
题目:

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]
.

Note:
Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.

public class Solution {
public void rotate(int[] nums, int k)
{
k = k % nums.length;
int length=nums.length;
reverse(nums,0,length-1);
reverse(nums,0,k-1);
reverse(nums,k,length-1);
return;

}

private void reverse(int[] nums, int start, int end)
{
for(int i = start, j=end; i<j;i++,j--)
{
int temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: