1227. 重复的子串模式
给你一个非空字符串,判断它能否通过重复它的某一个子串若干次(两次及以上)得到。字符串由小写字母组成,并且它的长度不会超过10000。
样例
样例1:
输入:"abab"
输出:True
说明:可以由它的子串"ab"重复两次得到。
样例2:
输入:"aba"
输出:False
样例3:
输入:"abcabcabcabc"
输出:True
说明:可以由它的子串"abc"重复四次得到(同时也可以是"abcabc"重复两次)。
public class Solution {
/**
* @param s: a string
* @return: return a boolean
*/
public boolean repeatedSubstringPattern(String s) {
// write your code here
for (int i = s.length()/2; i >0; i--) {
if (s.length()%i==0){
String s1=s.substring(0,i);
int j = i*2;
for (; j <= s.length(); j+=i) {
String sj=s.substring(j-i,j);
// System.out.println(s1+","+sj);
if (!s1.equals(sj)){
break;
}
}
// System.out.println(j);
if (j>s.length()){
return true;
}
}
}
return false;
}
}