0
点赞
收藏
分享

微信扫一扫

459. 重复的子字符串

_刘彦辉 2022-01-31 阅读 88

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)
}
举报

相关推荐

0 条评论