LeetCode OJ Rotate Array

Rotate an array ofnelements to the right byksteps.

For example, withn= 7 andk= 3, the array[1,2,3,4,5,6,7]is rotated to[5,6,7,1,2,3,4].

Note:Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.

Related problem:Reverse Words in a String II

Credits:Special thanks to@Freezenfor adding this problem and creating all test cases.

class Solution {public:void rotate(int nums[], int n, int k) {if (n == 0 || k % n == 0) return;int p = 0, last = nums[0], startp = 0, q, temp;for (int i = 0; i < n; i++) {q = (p + k) % n;if (q == startp) {nums[startp] = last;last = nums[++startp];p = startp;continue;}temp = nums[q];nums[q] = last;last = temp;p = q;}}};

,车到山前必有路,没路可以先开路,开路就得有乐观,

LeetCode OJ Rotate Array

相关文章:

你感兴趣的文章:

标签云: