696.计数二进制子串

public int countBinarySubstrings(String s) {
        int length = s.length();
        if(length==0 || length==1){
            return 0;
        }
        List<Integer> list = new ArrayList<>(length);
        int n = 0;
        while(n<length){
            char cur = s.charAt(n);
            int count = 0;
            while(n<length && s.charAt(n)==cur){
                ++n;
                ++count;
            }
            list.add(count);
        }
        int result = 0;
        int preNum = list.get(0);
        for(int i=1;i<list.size();i++){
            result += Math.min(preNum,list.get(i));
            preNum = list.get(i);
        }
        return result;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。