696 leetcode 计数二进制子串

题目描述:
在这里插入图片描述
思路:
因为必须是连续相等的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;
    }
};
发布了123 篇原创文章 · 获赞 0 · 访问量 964

猜你喜欢

转载自blog.csdn.net/peachzy/article/details/104250353