Skip to content
On this page

459. 重复的子字符串

给定一个非空的字符串  s ,检查是否可以通过由它的一个子串重复多次构成。

示例 1:
输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成。

示例 2:
输入: s = "aba"
输出: false

示例 3:
输入: s = "abcabcabcabc"
输出: true
解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)

提示:
1 <= s.length <= 104
s  由小写英文字母组成

javascript
/**
 * @param {string} s
 * @return {boolean}
 */
var repeatedSubstringPattern = function (s) {
  var len = s.length
  for (var i = 0; i <= len / 2; i++) {
    var childStr = s.substring(0, i)
    if (len % childStr.length !== 0) {
      continue
    }
    if (childStr.padEnd(len, childStr) === s) {
      return true
    }
  }
  return false
}

console.log(repeatedSubstringPattern("abab"))
console.log(repeatedSubstringPattern("aba"))
console.log(repeatedSubstringPattern("abcabcab"))