例子:

aaa
是重复的字符串,最小单位为1-a
abab
是重复的字符串,最小单位为2-ab
abcab
不是重复的字符串,找不到最小单位
int solve(string str)
{
int size=str.length();
int maxlen=0;
for(int i=1;i<=size/2;i++)
{
if((size%i)==0)
{
string temp=str.substr(0,i);
string temp2=temp;
int flag=0;
cout<<temp<<"++"<<endl;
do
{

if(str.find(temp)==string::npos)
{
flag++;
break;
}
if(temp.length()==str.size())
break;
temp+=temp2;
}while(1);
if(!flag)
{
maxlen=max(maxlen,(int)temp.length());
cout<<"maxlen="<<maxlen<<endl;
}

}
}
return maxlen;
}

函数返回的是重复字符串长度