第一章 字符串

1.1 旋转字符串 问题描述:给定一个字符串,要求把字符串前面的n个字符移动到字符串的尾部,如吧字符串“abcde”前面的2个字符'a’和‘b’移动到字符串的尾部,使其变成“cdefab”。要求时间复杂度O(n),空间复杂度O(1)

解法一:暴力位移。基本思路为逐个将字符串的第一个字符移动到尾部,循环n次。时间复杂度O(n^2),空间复杂度O(1) 解法二:三步反转。所谓三步,即首先将需要移动的前n个字符进行一次反转,再将n+1~str进行一次