每日力扣算法题(简单篇)

2023-12-31 13:41:52

459.重复的字符串

原题:

给定一个非空的字符串?s?,检查是否可以通过由它的一个子串重复多次构成。

解题思路:

最简单的思路就是枚举,设定一个变量i,由于一个重复的字符串肯定是由一个子字符串复制一遍而来,因此我们只需要遍历一般就行了,然后当我们发现i是长度Len的因数时,我们就可以去判断这个字符串是否是重复的字符串,而比较时我们需要另一个变量k以i这个位置为基准去比较其他位置的字符串是否与i所在的位置往后的字符串相同,就可以比较出是否是重复的字符串,这里也可以采用kmp算法,但作者水平不够,看不懂。

都看到这里,觉得有用就点个赞吧,可以的话,点个关注吧

源代码:

bool repeatedSubstringPattern(char* s) {
    int len=strlen(s);
    bool judge;
    for(int i=1;i<=len/2;i++)
    {
        if(len%i==0)
        {
            judge=true;
            for(int j=i;j<len;j++)
            {
                if(s[j]!=s[j-i])
                {
                    judge=false;
                    break;
                }
            }
        }
        if(judge==true)
        {
            return true;
        }
    }
    return false;
}

文章来源:https://blog.csdn.net/2301_79629995/article/details/135315049
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。