class Solution {
public:
bool repeatedSubstringPattern(string s) {
}
};
459. 重复的子字符串
给定一个非空的字符串 s
,检查是否可以通过由它的一个子串重复多次构成。
示例 1:
输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。
示例 2:
输入: s = "aba" 输出: false
示例 3:
输入: s = "abcabcabcabc" 输出: true 解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)
提示:
1 <= s.length <= 104
s
由小写英文字母组成原站题解
python3 解法, 执行用时: 40 ms, 内存消耗: 14.9 MB, 提交时间: 2022-08-10 16:13:41
class Solution: def repeatedSubstringPattern(self, s: str) -> bool: n = len(s) if n < 2: return False for repeat in range(2, n+1, 1): if n % repeat == 0 and s == s[0:n//repeat] * repeat: return True return False
golang 解法, 执行用时: 4 ms, 内存消耗: 6.6 MB, 提交时间: 2021-06-18 11:12:32
func repeatedSubstringPattern(s string) bool { n := len(s) if n < 2 { return false } for repeat := 2; repeat <= n; repeat++ { if n % repeat == 0 && s == strings.Repeat(s[0:n/repeat], repeat) { return true } } return false }