具体的算法其实就是每次跳N格,如果回到起始点了,index就再加1,一直到所有的元素都被调换过了。
写得有点复杂,相信可以再简化一些。
之前想的完全错误,太繁琐了,最终简化成这样,有以下一些经验:
1. 每次有一个标准是startIndex,每次index重复之后startIndex+1之后可以让index = startIndex,这样不会造成index持续变大
2. 要找到规律,则用index%len或者(index+n)%len来判断当前的index是否符合要求,然后来决定接下去需要做什么。
再加一道以繁琐方法写的代码