LeetCode Rotate Array

来源:互联网 发布:网络pos刷卡平台 编辑:程序博客网 时间:2024/05/18 16:56


Rotate an array of n elements to the right by k steps. For example, withn = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to[5,6,7,1,2,3,4].

void rotate(int* nums, int numsSize, int k) {
    int i;
    int k_tmp;
    if((k_tmp = k%numsSize) != 0)
    {
        int *pint = (int*)malloc(numsSize*sizeof(int));
        for(i=0; i<numsSize; i++)
       {
         pint[i] = nums[i];
       }
       for(i=0; i<numsSize; i++)
       {
           nums[(i+k_tmp)%numsSize] = pint[i];
       }
       free(pint);
 }
}


0 0
原创粉丝点击