class Solution:
def repeatedSubstringPattern(self, s: str) -> bool:
l = len(s)
next = self.getNext(s)
if next[l-1] != 0 and l % ( l- next[l-1]) == 0:
return True #重复某一字段构成的数组的特点可以被if条件检查出来 abcdabcdabcd
else:
return False
def getNext(self,s):
l = len(s)
j = 0
next = [0 for x in range(l)]
for i in range(1,l):
while s[j] != s[i] and j > 0:
j = next[j-1]
if s[j]==s[i]:
j += 1
next[i] = j
return next
Leetcode 459. 重复的子字符串 Repeated Substring Pattern - Python KMP算法求next数组
最新推荐文章于 2022-12-19 13:45:28 发布