目录
一:题目:
给定一个非空的字符串 s
,检查是否可以通过由它的一个子串重复多次构成。
二:代码:
class Solution {
public:
void next(string s,int* next1){
next1[0]=0;
int j=0;
for(int i=1;i<s.size();i++){
while(j>0&&s[i]!=s[j]){
j=next1[j-1];
}
if(s[i]==s[j]){
j++;
}
next1[i]=j;
}
}
bool repeatedSubstringPattern(string s) {
if(s.size()==0) return false;
int len=s.size();
int next1[len];
next(s,next1);
if(next1[len-1]!=0&&len%(len-next1[len-1])==0){
return true;
}
return false;
}
};