java 189.旋转数组(#anki01).java

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 189.旋转数组(#anki01).java相关的知识,希望对你有一定的参考价值。

public class Solution {

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

      if(nums == null || nums.length < 2){
          return;
      }

      k = k % nums.length;
      reverse(nums, 0, nums.length - k - 1);
      reverse(nums, nums.length - k, nums.length - 1);
      reverse(nums, 0, nums.length - 1);

  }

  private void reverse(int[] nums, int i, int j){]]
      int tmp = 0;    
      while(i < j){
          tmp = nums[i];
          nums[i] = nums[j];
          nums[j] = tmp;
          i++;
          j--;
      }
  }
}
public class Solution {
    public void rotate(int[] nums, int k) {
        int[] temp = new int[k];
        int len = nums.length;
        
        k = k % len;
        
        for(int i = 0; i < k; i++){
            temp[i] = nums[len - k + i];
        }
        for (int i = len - k - 1; i >= 0; i--){
             nums[ i + k] = nums[i];
        }
        for(int j = 0; j < k; j++){
            nums[j] = temp[j];
        }
       
    }
}

以上是关于java 189.旋转数组(#anki01).java的主要内容,如果未能解决你的问题,请参考以下文章

java 189.旋转数组(#anki01).java

java 189.旋转数组(#anki01).java

java 189.旋转数组(#anki01).java

java 189.旋转数组(#anki01).java

java刷题--189旋转数组

数组旋转 Leetcode#189