459. 重复的子字符串
给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。
示例 1:
示例 2:
示例 3:
提示:
遍历:
func repeatedSubstringPattern(s string) bool {
if len(s)==0{
return false
}
for i:=1;i<len(s);i++{
if len(s)%i==0{ //当前位数是总长度的倍数
count:=len(s)/i //计算能重复几次
res:=""
for j:=0;j<count;j++{
res=res+s[0:i]
}
if res==s{
return true
}
}
}
return false
}
高手的题解:
func repeatedSubstringPattern(s string) bool {
if len(s)==0{
return false
}
// 来自以为大佬的解题,2倍的字符串,将首、尾位切掉,
newS:=(s+s)[1:len(s)*2-1]
// 查看是否能匹配
return strings.Contains(newS,s)
}