459重复的子字符串

# 这道题,可以用暴力方法的思想,然后可以知道能够拼接成字符串的子串
# 长度肯定可以被字符串整除。但长度一定小于字符串长度的二分之一。
class Solution:
def repeatedSubstringPattern(self, s: str) -> bool:
# 定义一个列表,用来存放能够被字符串长度整除的子串长度。
possible_length = []
# 定义字符串的长度。
length = len(s)
# 求出能够被字符串长度整除的子串所有长度。
for i in range(1,length // 2 + 1):
if length % i == 0:
possible_length.append(i)
print(possible_length)
# 用每一个子串进行和后边子字符串进行比较。
for length1 in possible_length:
# 求出当前长度的子字符串。
strs = s[:length1]
# 然后进行遍历比较
for length2 in range(length1,length - length1 + 1,length1):
print(s[length1:length1 + length2])
# 如果不相等,直接跳出循环。
if s[length2:length1 + length2] != strs:
break
print(length1, length2)
# 最后判断遍历的边界值。
if length2 == length - length1:
return True
return False

A = Solution()
print(A.repeatedSubstringPattern("ababab"))




posted @ 2020-08-25 20:18  月为暮  阅读(258)  评论(0编辑  收藏  举报