LeetCode 459 重复的子字符串
题目描述:
给定一个非空的字符串
s
,检查是否可以通过由它的一个子串重复多次构成。输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。
思路代码
暴力法,只用遍历到一半。
class Solution(object):
def repeatedSubstringPattern(self, s):
"""
:type s: str
:rtype: bool
"""
n = len(s)
if n <= 1:
return False
substr = ""
for i in range(1, n//2 + 1):
if n % i == 0:
substr = s[:i]
if substr * (n//i) == s:
return True
return False
总结
暴力方法侥幸没超时,还需要多花时间消化KMP算法