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

2020-08-07 18:31 By "Powerless" 2758 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);


评 论

Others Discussion

  • 分布式架构之「 数据分布」
    Posted on 2019-11-14 10:00
  • PHP扩展ImageMagick安装
    Posted on 2022-11-11 11:16
  • PHP7不兼容性
    Posted on 2018-03-07 15:59
  • Redis各种数据类型的使用场景举例分析【三】
    Posted on 2018-11-22 17:00
  • 投票通过,PHP 8 确认引入 Union Types 2.0
    Posted on 2019-11-18 22:22
  • PHP设计模式 - 委托模式
    Posted on 2019-04-25 16:15
  • BASE原则
    Posted on 2020-12-17 16:42
  • 程序员年中考试题-段子版
    Posted on 2021-06-23 15:57