边判断重复字符串边计数
分享一下不同思路,重复字符串是不断收录来的
用主串.find(子串,index)是从主串的index下标找到第一个子串在主串的index
#include <iostream>
using namespace std;
int main(){
string s,repeat,temp;
int cnt = 1;int loc;
while(cin>>s, s !=".")
{
cnt = 1;
temp = "";
repeat = "@";
for(int i = 0; i < s.size(); i++)
{
temp = temp + s[i];
loc = s.find(repeat,i);
if(loc == i)
{
cnt++;
if(i + repeat.size() <= s.size())
i += repeat.size()-1;
}
else
{
repeat = temp;
cnt = 1;}
}
cout << cnt <<endl;
}
return 0;
}