class Solution {
public:
void rotate(vector<int>& nums, int k) {

int n=nums.size();
int i=0;

//-------------------

//解法一  会超时

//--------------------
k=k%n;
while(i<k){
  int temp=nums[n-1];
  for(int j=n-1;j>0;j--){
    nums[j]=nums[j-1];
  }
  nums[0]=temp;
  i++;
  }

//-------------------

//解法二

//--------------------

 

vector<int> num1;  新开一个数组,存放
k=k%n;
if(k==0) return;
while(i<k)
{
  num1.push_back(nums[n-k+i]);
  i++;
}
i=0;
while(i<n-k)
{
  num1.push_back(nums[i]);
  i++;
}
i=0;
while(i<n)
{
  nums[i]=num1[i];
  i++;
}

}

//-------------------

//解法三   三次旋转;很巧妙

//-------------------- 

 


};

相关文章:

  • 2022-12-23
  • 2021-06-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-25
  • 2021-05-31
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-06
  • 2022-02-01
  • 2022-12-23
  • 2021-09-23
相关资源
相似解决方案