C++示例程序:
class Solution {
public:
void rotate(vector<int>& nums, int k) {
int length = nums.size();
if (length <= 1 || k < 0)
return;
k %= length;
reverse(nums, 0, length - 1);
reverse(nums, 0, k - 1);
reverse(nums, k, length - 1);
}
void reverse(vector<int>& nums, int start, int end) {
int temp = 0;
for (int i = start, j = 0; i < start + (end - start + 1) / 2; i++, j++) {
temp = nums[i];
nums[i] = nums[end - j];
nums[end - j] = temp;
}
}
};