题目描述:
思路:
因为必须是连续相等的0和1的子串,遍历s,记录第一个连续的字符的个数,然后与下一个不相等的连续字符的个数比较,当前一个大于或者等于后一个时,sum++;以此类推;
代码如下:
class Solution {
public:
int countBinarySubstrings(string s) {
if(s.size()<2) return 0;
int last=0,cur=1;
int sum=0;
for(int i=1;i<s.size();i++){
if(s[i]==s[i-1]) cur++;
if(s[i]!=s[i-1]){
last=cur;
cur=1;
}
if(last>=cur) sum++;
}
return sum;
}
};