skys215

# D88 696. Count Binary Substrings

## 题目链接

696. Count Binary Substrings

## 思路

#### 思路1:

``````function countBinarySubstrings(\$s) {
\$totalLength = strlen(\$s);
\$total = 0;
for(\$i=0;\$i<=\$totalLength/2; \$i++){
//01 0011 000111
\$boz = str_repeat('0',\$i).str_repeat('1',\$i);
//10 1100 111000
\$bzo = strrev(\$boz);
\$total += substr_count(\$s, \$boz);
\$total += substr_count(\$s, \$bzo);
}
return \$total;
}
``````

## 最终代码

``````<?php
class Solution {
/**
* @param String \$s
* @return Integer
*/
function countBinarySubstrings(\$s) {
\$total = 0;
\$s = str_split(\$s);
\$stack1 = array_shift(\$s);
\$stack1Amount = 1;
\$stack2 = null;
\$stack2Amount = 0;
\$prev = \$stack1;
foreach(\$s as \$key => \$val){
if(\$stack1 == \$val){
if(\$val == \$prev){
\$stack1Amount++;
}
else{
\$stack1 = \$stack2;
\$stack1Amount = \$stack2Amount;
\$stack2Amount = 0;
\$stack2 = null;
}
}
if(\$stack1 != \$val){
\$stack2 = \$val;
\$stack2Amount++;
\$stack1Amount--;
\$total++;
}
if(\$stack1Amount == 0){
\$stack1 = \$stack2;
\$stack1Amount = \$stack2Amount;
\$stack2 = null;
\$stack2Amount = 0;
}
\$prev = \$val;
}
return \$total;
}
}
``````

### skys215

696. Count Binary Substrings - LeetCode

Question 696. Count Binary Substrings Example 1: Example 2: Solution 思路:题目大意是,给一个二进制的字符串，问有多少子串的0个数量等于1的数量且子串中0和1不能交替出现。 Java实现:...

yysue
2018/06/29
0
0
LeetCode 攻略 - 2019 年 7 月上半月汇总

Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 14:13:38 一 目录 不折腾的前端，和咸鱼有什么区别 目录 一 目录 二 前言 三 汇总  3.1 LeetCode 已攻略  3.2...

jsliang

0
0
LeetCode 攻略 - 2019 年 6 月汇总

Create by jsliang on 2019-06-28 09:03:23 Recently revised in 2019-06-28 14:56:36 一 目录 不折腾的前端，和咸鱼有什么区别 目录 一 目录 二 前言 三 汇总  3.1 已攻略  3.2 Function ...

jsliang
06/28
0
0
LeetCode 401 Binary Watch

LeetCode 排列组合 题目汇总 LeetCode 数字 题目汇总 LeetCode 动态规划 题目分类汇总 干货！LeetCode 题解汇总 题目描述 A binary watch has 4 LEDs on the top which represent the hours...

2017/12/10
0
0
【Leetcode】647. Palindromic Substrings

Description Given a string, your task is to count how many palindromic substrings in this string. The substrings with different start indexes or end indexes are counted as diffe......

xiagnming
2018/07/30
0
0

Linux的基本命令

2
0

wangxuwei

2
0
Bootstrap(六)表单样式

ZeroBit

3
0
SSL 证书格式转换

SSL 证书格式转换 不同服务器情况下，需要不同的证书格式。 比如 pem 转 pfx。 pem在window 平台下可以导入，但是无法正常使用。 需要转换成pfx。 推荐在线转换工具，由中国数字证书网站提供...

DrChenXX

2
0
HAProxy

xx

Canaan_

2
0