題目大意:
給定一個非空的字符串,判斷它是否可以由它的一個子串重複多次構成。給定的字符串只含有小寫英文字母,並且長度不超過10000。
代碼:
class Solution {
public boolean repeat(String s,String ss) {//判斷s是否爲ss重複構成
int len = ss.length();
int group = s.length() / ss.length();
for(int i = 0; i < group; i++) {
String tmp = s.substring(i * len,(i + 1) * len);
if(!ss.equals(tmp))return false;
}
return true;
}
public boolean repeatedSubstringPattern(String s) {
int length = s.length();
char last = s.charAt(s.length() - 1);
for(int i = 0; i < s.length() / 2; i++) {
if(s.charAt(i) == last && length % (i + 1) == 0) {
String ss = s.substring(0,i+1);
boolean ans = repeat(s,ss);
if(ans) return true;
}
}
return false;
}
}