文章目录
题目
给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。
示例 1:
输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成。
示例 2:
输入: s = "aba"
输出: false
示例 3:
输入: s = "abcabcabcabc"
输出: true
解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)
题解
枚举
python
class Solution(object):
def repeatedSubstringPattern(self, s):
"""
:type s: str
:rtype: bool
"""
# 枚举
n = len(s)
for i in range(1, n // 2 + 1):
if n % i == 0:
# 获取当前子串
substring = s[:i]
# 检查是否能重复构成整个字符串
if substring * (n // i) == s:
return True
return False