<h3><a title="题目描述" href="https://leetcode-cn.com/problems/count-binary-substrings/">题目描述</a></h3>

<h4>方法一:按连续相同字符计数分组</h4>
<pre class="EnlighterJSRAW" data-enlighter-language="python">class Solution:
def countBinarySubstrings(self,s):
counts = []
i = 0
while i < len(s):
j = i
while j < len(s) and s[i] == s[j]:
j += 1
counts.append(j-i)
i = j
ans = 0
for i in range(len(counts)-1):
ans += min(counts[i],counts[i+1])
return ans
</pre>
<p> </p>
<h4>方法二</h4>
<pre class="EnlighterJSRAW" data-enlighter-language="python">class Solution:
def countBinarySubstrings(self,s):
cur,last,res = 1,0,0
for i in range(1,len(s)):
if(s[i] == s[i-1]):
cur += 1
else:
last = cur
cur = 1
if(last >= cur):
res += 1
return res
</pre>
<p> </p>
## 思路:
- 方法一 : 具体可见 [题解](https://leetcode-cn.com/problems/count-binary-substrings/solution/ji-shu-er-jin-zhi-zi-chuan-by-leetcode-solution/ "题解")
- 方法二 :用last来记录之前一种数字的个数, cur来记录当前数字的个数; 当last >= cur的时候, res ++;
Leetcode696 计数二进制子串