标签:
Rotate an array of n elements to the right by k steps.
For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7]
is
rotated to [5,6,7,1,2,3,4]
.
#include<iostream> using namespace std; //转置思想 void Reverse(int *&nums, int first, int end) { for (; first < end; first++,end--){ int temp = nums[first]; nums[first] = nums[end]; nums[end] = temp; } } void rotate(int nums[], int n, int k) { //k = k%n;//左旋转 k = n - (k%n);//右旋转 Reverse(nums, 0, k - 1); Reverse(nums, k, n - 1); Reverse(nums, 0, n - 1); }
标签:
原文地址:http://blog.csdn.net/li_chihang/article/details/44015141