459.重复的子字符串
2020-05-12
重复的子字符串
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定
的字符串只含有小写英文字母,并且长度不超过10000。
题解:
思路1:以特殊字符打散字符串成数组
var repeatedSubstringPattern = function (s) { if(s.length < 2) return false; let tmp = ''; for (let i = 0; i < s.length / 2; i++) { tmp += s[i]; // tmp记录0-i的子串 if (!s.split(tmp).join('')) return true; // 以tmp打散字符串 如果全部符合 那么应该被打散一个数组 每一项都是空字符串 } return false; };
思路2:正则匹配
var repeatedSubstringPattern = function (s) { return /^(\w)\1+$/.test(s); // 正则匹配 \1 表示 重复第一个括号的内容 };