PHP练习-判断字符串内括号是否对应

2020-08-07 18:31 By "Powerless" 2806 0 1

思路分析

可以理解为res是一个堆。

有左括号时将左括号入堆,有右括号时弹出最后入堆的括号判断是否匹配。

function check($str)
{
    $res = [];
    for ($i=0;$i<strlen($str);$i++){
        $v = $str[$i];
        if($v == '(' || $v == '[' || $v == '{'){
            array_push($res,$v);
        }
        if($v == ')' && array_pop($res) != '('){
            return '匹配错误';
        }
        if($v == ']' && array_pop($res) != '['){
            return '匹配错误';
        }
        if($v == '}' && array_pop($res) != '{'){
            return '匹配错误';
        }
    }
}
$str = '{[([{}])]}';
echo check($str);


评 论

View in WeChat

Others Discussion

  • 2018年云计算热词
    Posted on 2019-06-12 18:19
  • PHP 基金会来啦!
    Posted on 2022-10-08 17:40
  • 快速了解Kafka
    Posted on 2021-03-25 14:20
  • Redis各种数据类型的使用场景举例分析【二】
    Posted on 2018-11-22 10:30
  • TCP协议的特性
    Posted on 2019-04-26 16:46
  • 让你的PHP7更快(GCC PGO)
    Posted on 2018-03-07 14:09
  • Composer 异常 [ErrorException]
    Posted on 2019-11-25 17:55
  • BASE原则
    Posted on 2020-12-17 16:42