代码随想录刷题营Day10(重复的子字符串:459)

代码随想录刷题营Day10(重复的子字符串:459):

这个题我还是不用KMP算法了,有点难理解,即便我是二刷了。
移动匹配的方法觉得更香一点:
给定一个s=“abcabc”,看他是不是由重复的字串构成。
移动匹配的算法就是说要尝试将s+s拼起来,变成abcabcabcabc,然后掐头去尾,看看中间的字串包不包含abc。

    def repeatedSubstringPattern(self,s):
        new_s=s+s
        new_s_1=new_s[1:len(new_s)-1]
        if s in new_s_1:
            return True
        else:
            return False

复习一下Next数组求解:

代码随想录刷题营Day10(重复的子字符串:459)_第1张图片
代码随想录刷题营Day10(重复的子字符串:459)_第2张图片

你可能感兴趣的:(python)