LeetCode #189 Rotate Array

rotate_array.png
void rotate_inter(int *a, int n, int k) {
    int t[k];
    for (int i = 0; i < k; i++) { t[k - 1 - i] = a[n - 1 - i]; }
    for (int i = n - 1; i >= k; i--) { a[i] = a[i - k]; }
    for (int i = 0; i < k; i++) { a[k - 1 - i] = t[k - 1 - i]; }
}

void rotate(int* a, int n, int k) {
    if (k == 0) return;
    if (k < n) { 
        rotate_inter(a, n, k); 
    } else if (k > n) {
        rotate(a, n, k % n);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容