此题最常见的是暴力做法,判断每个小于n/2的子串是否满足即可,复杂度为 O ( N 2 ) O(N^2) O(N2)
更高效的做法是降维打击,用另一种角度来考虑问题,即,如果满足条件,那么经过一定次数的旋转,此字符串会恢复原状。
所以,我们定义一个新串为两个s相加,并去掉首尾字母。然后判断原字符串是否是这个串的子串即可,变成了一个旋转问题。
此题最常见的是暴力做法,判断每个小于n/2的子串是否满足即可,复杂度为 O ( N 2 ) O(N^2) O(N2)
更高效的做法是降维打击,用另一种角度来考虑问题,即,如果满足条件,那么经过一定次数的旋转,此字符串会恢复原状。
所以,我们定义一个新串为两个s相加,并去掉首尾字母。然后判断原字符串是否是这个串的子串即可,变成了一个旋转问题。