例如一个字符串:s1 = ABCD 和 s2 = ACBD
检查一个字符串s1 是不是 由 s2 循环移位得到的
思路如下: 可以变化字符串s1 为 ABCDABCD
这样判断s2 是不是 s1 的字串
那么,我们可以用前面写的KMP匹配算法来判断一个字符串是否是另一个字符串的字串
#例如一个字符串aaabbb,又有一个字符串bbaaab, #判断后一个字符串是不是另一个字符串进行旋转后所得到的 import KMPAlgorithm def isContainOther(string1,string2): if KMPAlgorithm.KMPAlgorithm(string1,string2): print "string2 is sting1 rotation type" else: print "string2 can not make by string1" def connectString(string1): string1 += string1 return string1 if __name__ == "__main__": string1 = "ABCD" string2 = "CDAA" isContainOther(string2,connectString(string1))
原文:http://www.cnblogs.com/lgy6534588/p/3535853.html