leetcode--189.Rotate

来源:互联网 发布:雷锋的故事 知乎 编辑:程序博客网 时间:2024/06/03 14:29

L189

将一个数组里的数,向右移动 k位。(shift)。要求多种方法。

 

坑:k可能大于len,所以需要取余。

 

方案1:

将数组复制,依次填入新的位置。新的位置为(i+k)%n

 

方案2:

将数组reverse。

将数组第0-k-1位reverse

将数租第k-len-1位reverse

 

方案3:

循环,先为某个数找到新位置,再为新位置上原来的数找到它的新位置。如此循环。

倘若下标回到start,而移动的位数小于len,则将start+1,继续进行

 

原创粉丝点击