class Solution {
public boolean repeatedSubstringPattern(String s) {
String ss = s+s;
String s_sub = ss.substring(1,ss.length()-1);
return s_sub.contains(s);
}
}
题解:(参考leetcode)
情况一:如果字符串 str 可以由它的一个子串重复多次构成
str = s + s
str + str = [s + s] + [s + s] = s + [s + s] + s
情况二:如果字符串 str 不可以由它的一个子串重复多次构成
str = s1 + s2
str + str = [s1 + s2] + [s1 + s2] = s1 + [s2 + s1] + s2 != s1 + [s1 + s2] + s2
可以直接判断 str 中去除首尾元素之后,是否包含自身元素。如果包含。则表明存在重复子串。