给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。
输入: "abab" 输出: True 解释: 可由子字符串 "ab" 重复两次构成。
class Solution:
def repeatedSubstringPattern(self, s: str) -> bool:
if not s:
return False
ss = (s + s)[1:-1] #字符串自身相加后去掉第一和最后一个字符
return ss.find(s)!=-1 #在新字符串中判断是否有输入字符
知识点:
find()方法语法:
str.find(str, beg=0, end=len(string))
参数:
- str -- 指定检索的字符串
- beg -- 开始索引,默认为0。
- end -- 结束索引,默认为字符串的长度。
返回值:
如果包含子字符串返回开始的索引值,否则返回-1。