摘要: 1. 简述 给定两个字符串s1和s2,要求判断s2是否能够被s1做循环移位得到的字符串包含。例如,给定s1=AABCD和s2=CDAA,返回true;给定s1=ABCD,s2=ACBD,返回false。2. 思路 将问题转化为:判断s1s1中是否包含s2子串。即对于s1=AABCD和s2=CDAA,判断AABCDAABCD中是否存在AA。 使用KMP匹配就行,对于s1s1也不用特地去开辟空间,假设s1的字符串指针为str,长度为len_str,只需len_str += len_str和str[i%len_str]即可。3. 参考资料 编程之美,3.1节,字符串移位包含的问题自己的方法如下:#i 阅读全文
posted @ 2012-03-02 16:30 Never To Say Impossible 阅读(347) 评论(1) 推荐(0) 编辑