欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端企业面试题:企业真实案例——37

程序员文章站 2022-06-04 14:45:25
...
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。

示例 1:

输入: "abab"
输出: True
解释: 可由子字符串 "ab" 重复两次构成。

示例 2:

输入: "aba"
输出: False

示例 3:

输入: "abcabcabcabc"
输出: True
解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。)

 

 

思路:

使用正则来验证字符串是否为重复内容

从第一个字符开始,逐渐增加字符个数

直到超过半数,仍未找到重复内容,则放弃

var repeatedSubstringPattern = function(s) {
    var len = parseInt(s.length/2);
    for(var i=1; i<=len; i++){
        var reg = new RegExp( '^('+s.substring(0,i)+")+$", "g" );
        if(reg.test(s)) return true;
    }
    return false;
};