本文主要是介绍轮转数组题解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
链接:189. 轮转数组 - 力扣(LeetCode)
这个题目很简单,因为说到了 k 是一个非负数,那么我们就可以 求模的时候就不用考虑的下标还会越界了,往右边 移动 其实就是当前下标 i+k ,为了保证它能头尾相接并且不越界 ,那么就是 需要求模 numsSize 这个。
当时脑子一热写反了,然后各种报错。
代码如下:
void rotate(int* nums, int numsSize, int k)
{if(numsSize<=1) return;int t[numsSize+10];for (int i = 0; i < numsSize; i++) {t[(i + k) % numsSize] = nums[i];}for (int i = 0; i < numsSize; i++) {nums[i] = t[i];}
}
这篇关于轮转数组题解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!