Dada una cadena no vacía, juzgue si puede estar compuesta por una subcadena repetida varias veces. La cadena dada contiene solo letras minúsculas en inglés y la longitud no excede las 10,000.
Ejemplo 1:
输入: "abab"
输出: True
解释: 可由子字符串 "ab" 重复两次构成。
Ejemplo 2:
输入: "aba"
输出: False
Ejemplo 3:
输入: "abcabcabcabc"
输出: True
解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。)
Ideas:
Use regular para verificar si la cadena es contenido duplicado
A partir del primer carácter, aumente gradualmente el número de caracteres.
Hasta que más de la mitad, no se encuentre contenido duplicado, abandone
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;
};