JAVA#旋转数组

旋转数组

给定一个数组,将数组中的元素向右移动 个位置,其中 是非负数。

示例 1:

输入: [1,2,3,4,5,6,7]k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右旋转 1 步: [7,1,2,3,4,5,6]
向右旋转 2 步: [6,7,1,2,3,4,5]
向右旋转 3 步: [5,6,7,1,2,3,4]

示例 2:

输入: [-1,-100,3,99]k = 2
输出: [3,99,-1,-100]
解释: 
向右旋转 1 步: [99,-1,-100,3]
向右旋转 2 步: [3,99,-1,-100]
  public void rotate(int[] nums, int k) {
        k=k%nums.length;
        
        if(nums.length!=0 && nums.length!=1){
            int[] newarray=new int[nums.length];
            for(int i=0;i<nums.length;i++){
                if(i+k<=nums.length-1){
                    newarray[i+k]=nums[i];
                    }
                else if(i+k>nums.length-1){
                    newarray[i+k-nums.length]=nums[i];
                }
            }
        
        for(int i=0;i<nums.length;i++){
            nums[i]=newarray[i];
        }
        }
        else if(nums.length==1){
            return;
        }
    }
发布了130 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Iverson941112/article/details/97957949
今日推荐