题意:翻转数组
解题思路:将字符串分为两部分a和b,如果想得到ba,那么可以先将a翻转(a'b)然后将b翻转(a'b'),然后再将ab翻转 (a'b')'=ba
代码
public class Solution {
public void rotate(int[] nums, int k) {
int len=nums.length;
if(len==1)return;
if(k==0)return;
k=k%len;
reverse(nums,0,len-k-1);
reverse(nums,len-k,len-1);
reverse(nums,0,len-1);
return;
}
public void reverse(int[] nums,int start,int end){
if(start==end)return;
int i,j,temp;
for(i=start,j=end;i<j;i++,j--){
temp=nums[i];
nums[i]=nums[j];
nums[j]=temp;
}
}
}