题目解析 其实就是平衡符号。
如何解决? 利用栈就可以搞定, 具体不明白的看书吧。
talk is cheap, show me the code~ 代码:
function solution($s) { // write your code in php5.5 $open_symb = array( '{', '[', '(' ); $close_symb = array( '}', ']', ')' ); $check = array(); for($i = 0; $i< strlen($s); $i++) { $v = $s[$i]; if (in_array($v, array_values($open_symb))) { array_push($check, $v); } elseif (in_array($v, array_values($close_symb))) { $symbol = array_pop($check); $cor_symbol = array_search($v, $close_symb); if ($symbol !== $open_symb[$cor_symbol]) { return 0; } } } if (!empty($check)) { return 0; }