首先介绍什么是旋转字符串,解释如下:
AABCD左旋一个字符得到ABCDA
AABCD左旋两个字符得到BCDAA
AABCD右旋一个字符得到DAABC
了解了定义后,我们要如何旋转字符串呢?这里我会介绍旋转前k个字符的字符串的方法。
1、三段旋转法。(比如旋转前2个字符,就把字符串分割为前两个为一段,剩下的为另一端,分别旋转每串字符,最后再整体旋转。
即abcd ——>ab cd——>ba dc——>badc——>cdab)
2、前移法(len是旋转的次数)
3、拼接法:
4.空间换时间法:void rotate(int* nums, int numsSize, int