本题源自leetcode 696
-----------------------------------------------------------------------------
思考:
代码:
int countBinarySubstrings(string s) {
/*
vector<int> rec;
int count = 1;
int n = s.length();
for(int i = 1; i <= n; i++){
if(s[i] == s[i-1])
count++;
else{
rec.push_back(count);
count = 1;
}
}
int res = 0;
for(int i = 1; i < rec.size(); i++){
res += min(rec[i],rec[i-1]);
}
return res;
*/
int n = s.length();
int res = 0;
int cur = 1;
int pre = 0;
for(int i = 1; i < n; i++){
if(s[i] == s[i-1])
cur++;
else{
pre = cur;
cur = 1;
}
if(pre >= cur)
res++;
}
return res;
}