String 确定一个字符串是否是另一个字符串的循环旋转?

String 确定一个字符串是否是另一个字符串的循环旋转?,string,algorithm,time-complexity,String,Algorithm,Time Complexity,我需要解决以下问题: 给出一个线性时间算法来确定文本T是否是另一个字符串T'的循环旋转。例如,arc和car是彼此的循环旋转 我不知道从哪里开始。如何解决这个问题?作为提示:如果x和y的长度相同,那么x是y的循环旋转,如果x是yy的子串。尝试证明这一点,并将其作为算法的基础 希望这有帮助 让xy代表文本T,yx代表其旋转字符串,通过使用KMP模式初始化函数将它们连接起来,我们可以找到前缀长度L,然后比较其余两个子字符串。然而,仍然有疑问的是,同样的问题:。您可以使用KMP算法查找接受的解决方案以

我需要解决以下问题:

给出一个线性时间算法来确定文本T是否是另一个字符串T'的循环旋转。例如,
arc
car
是彼此的循环旋转


我不知道从哪里开始。如何解决这个问题?

作为提示:如果x和y的长度相同,那么x是y的循环旋转,如果x是yy的子串。尝试证明这一点,并将其作为算法的基础


希望这有帮助

让xy代表文本T,yx代表其旋转字符串,通过使用KMP模式初始化函数将它们连接起来,我们可以找到前缀长度L,然后比较其余两个子字符串。然而,仍然有疑问的是,同样的问题:。您可以使用KMP算法查找接受的解决方案以及解决方案。另外,我真的很喜欢后面的那个。