LeetCode 696. 计数二进制子串

class Solution {
    public int countBinarySubstrings(String s) {
       //定义 last变量 代表 前一种数字的数量
       int last = 0;
       //定义 cur变量 代表 当前数字的数量
       int cur = 1;
       //定义 res变量,统计结果数
       int res = 0;
       //因为要比较前后俩个数,所以从1开始遍历
       for(int i = 1; i < s.length(); i++){
           if(s.charAt(i) == s.charAt(i-1)){
               cur++;
           }else{
               last = cur;
               cur = 1;
           }
           //如果前一种数量大于当前数字的数量,结果+1 ,仔细品味
           // 0000111 last = 4; cur = 3,  结果 01 0011 000111 res = 3;
           if(last >= cur) res++;
        } 
        return res;
    }
}

 

posted @ 2020-10-28 23:51  peanut_zh  阅读(90)  评论(0编辑  收藏  举报