LeeCode-Rotate Array
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.
1 void rotate(int* nums, int numsSize, int k) 2 { 3 int *TempArray; 4 TempArray=(int *)malloc(numsSize*sizeof(int)); 5 6 for(int i=0;i<numsSize;i++) 7 { 8 if((i+k+1)<=numsSize) 9 { 10 TempArray[i+k]=nums[i]; 11 } 12 else 13 { 14 TempArray[(i+k)%numsSize]=nums[i]; 15 } 16 } 17 18 for(int i=0;i<numsSize;i++) 19 { 20 nums[i]=TempArray[i]; 21 } 22 }
作者:vpoet
出处:http://www.cnblogs.com/vpoet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/vpoet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。