【力扣的101夜】轮转数组

public void rotate(int[] nums, int k) {
}

用 Syst.arraycopy
五个参数是
System.arraycopy(nums, length - step, temp, 0, step);

  • nums:源数组,即要从中复制元素的数组。
  • length - step:源数组的起始位置,即从哪个索引开始复制。
  • temp:目标数组,即复制后的元素要放到哪个数组中。
  • 0:目标数组的起始位置,即从哪个索引开始放置复制的元素。
  • step:要复制的元素个数。

所以就是先把后半部分移动到tmp中,
nums,length-k,tmp,0,k
然后把前半部分放到后面
nums,0,tmp,k,length-k
然后再把tmp放到前面。
tmp,0,nums,0,k

就这

你可能感兴趣的:(leetcode,算法,数据结构)