给定一个非空的字符串 s
,检查是否可以通过由它的一个子串重复多次构成。
示例 1:
输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。
示例 2:
输入: s = "aba" 输出: false
示例 3:
输入: s = "abcabcabcabc" 输出: true 解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)
提示:
1 <= s.length <= 104
s
由小写英文字母组成-
public class Solution { public bool RepeatedSubstringPattern(string s) { for (int i = 1; i <= s.Length / 2; i++) if (s.Length % i == 0 && IsResult(s, i)) return true; return false; } private bool IsResult(string s, int len){ string str = s.Substring(0, len); for (int i = len; i < s.Length; i++) if(str[i % len] != s[i]) return false; return true; } }