自学内容网 自学内容网

刷题---轮转数组

本题来自力扣刷题:轮转数组

  • 首先我们来看一下题目描述
    在这里插入图片描述
    解题思路:首先创建一个新的数组,将后面k个数据数据放到新数组前面,将size-1个数据放在剩下的空间中,再把新数组的数据赋值给nums。
  • 看下图更好理解
    在这里插入图片描述
  • 代码展示
void rotate(int* nums, int numsSize, int k) {
    //申请一个新的空间
    int newArr[numsSize];
    //数组中的后k个数据放在数组前面
    //原来的数组的前size-k个数据放到剩下的空间
    for(int i =0 ; i < numsSize ; i++)
    {
        newArr[(i + k) % numsSize] = nums[i];
    }
    //将newArr的数据放到nums中
    for(int i = 0 ; i < numsSize ; i++)
    {
        nums[i] = newArr[i];
    }
}

原文地址:https://blog.csdn.net/weixin_63997543/article/details/143681965

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!