[leetcode]Rotate Array

in place交換數組

若是是k步,那麼就是把後面k個放到前面了嘛。spa

咱們先把整個數組reverse,而後把前面的reverse回來,再把後面的reverse回來code

 

對於AB咱們要經過reverse操做獲得BAblog

那麼先把AB reverse一次獲得reverse(B)reverse(A)io

而後再把reverse(B),reverse(A)分別reverse一次就獲得了BAclass

 

class Solution {
public:
    void rotate(int nums[], int n, int k) {
        k = k % n;
        reverse(nums, nums + n);
        reverse(nums, nums + k);
        reverse(nums + k, nums + n);
    }
};
相關文章
相關標籤/搜索