本题题目:给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。
重复子字符串
// 方法一:
var str = "abcabcabc";
function repeatedSubstringPattern(s) {
let newStr = s + s;
return newStr.slice(1, -1).indexOf(s) != -1;
};
repeatedSubstringPattern(str);
// 方法二:
var str = "abcabcabc";
function repeatedSubstringPattern(s) {
let reg = /^(\w+)\1+$/;
return reg.test(s);
};
repeatedSubstringPattern(str);
总结
在刷题的过程中发现一个问题,如果对正则表达式比较熟悉的话,会比较少的代码量就可以解决,但是目前来看,性能低于字符串方法。