Skip to content
On this page

459. 重复的子字符串

原题链接:LeetCode 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)
};

技术文档集合