459. 重复的子字符串
方法一
var repeatedSubstringPattern = function(s) {
// 搜索a-z的所有组合,用于匹配字符串,但是效率很低
// ^开头 $结尾 ()分组 \1则是代表与第一个小括号中要匹配的内容相同。
return /^([a-z]+)\1+$/.test(s)
};
方法二
使用一个子串str去统计累加的字符串,遍历字符串的时候,使用s.repeat(count)检查字符串是否是由子串组成的。
var repeatedSubstringPattern = function(s) {
// 设置子串
let str = ""
// 注意最后一个是不需要遍历的,即子串是包括本身串的
for(let i=0; i<s.length-1; i++){
// 累加子串,使用+
str += s[i]
// 检查s是否是由子串str构成
if(s == str.repeat(Math.floor(s.length/str.length))){
return true
}
}
return false
};