我有一个家庭作业:
需要实现一个函数 (RotateRight) 来获取一个 INT 数组和一个数字:
int[] res = RotateRight(new int[] { 1, 2, 3, 4, 5, 6 }, 2);
//so then res will be {5,6,1,2,3,4}
并根据给定的数字将所有项目向右旋转后返回数组,在我们的案例中为 2。
而且我必须在内存空间方面有效地做到这一点。
我最好的主意是:
如果给定的数字是 x,则使用 x 大小的新 int[] tmpArray 将所有最后 x 项复制到它。然后使用 for 循环将所有其余的 int 向右移动。最后将 tmpArray 中的项目复制到原始数组的开头。
提前感谢您的任何建议或帮助