力扣刷题记录 -- JAVA--15--- 189. 轮转数组

目录

  • 一、题目
  • 二、代码
  • 三、运行结果


一、题目

力扣刷题记录 -- JAVA--15--- 189. 轮转数组_第1张图片

二、代码

class Solution 
{
    //空间复杂度为1  先对整体数组反转  然后再对两个分割后的数组反转
    public void rotate(int[] nums, int k) 
    {
        int i;
        int length;

        length = nums.length;
        k = k%length;
        for(i=0;i<length/2;i++)
        {
            int temp =  nums[i];
            nums[i] = nums[length-1-i];
            nums[length-1-i] = temp;
        }
        
        for(i=0;i<k/2;i++)
        {
            int temp =  nums[i];
            nums[i] = nums[k-1-i];
            nums[k-1-i] = temp;
        }

        for(i=k;i<(length+k)/2;i++)
        {
            int  temp =  nums[i];
            nums[i] = nums[length-1+k-i];
            nums[length-1+k-i] = temp;
        }



    }
}

三、运行结果

力扣刷题记录 -- JAVA--15--- 189. 轮转数组_第2张图片

你可能感兴趣的:(#,leetcode,java,python)