Appearance
459. 重复的子字符串
题目描述
给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。
示例 1:
输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。
示例 2:
输入: s = "aba" 输出: false
示例 3:
输入: s = "abcabcabcabc" 输出: true 解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)
提示:
1 <= s.length <= 104
- `s` 由小写英文字母组成
难度: Easy
题解代码
javascript
/**
* @param {string} s
* @return {boolean}
*/
var repeatedSubstringPattern = function(s) {
// 模式匹配, \1 \2 \n是用在正则表达式大匹配环节:
// /^(foo) (bar) \2 \1$/.test('foo bar bar foo')
// 在正则表达式大替换环节,使用$1 $2 $n这样大语法:
// 'foo bar'.replace(/(...) (...)/, '$2 $1')
return /^(\w+)\1+$/.test(s)
};