PHP-最长有效括号

给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。

示例 1:

输入: "(()"
输出: 2
解释: 最长有效括号子串为 "()"
示例 2:

输入: ")()())"
输出: 4
解释: 最长有效括号子串为 "()()"

来源:力扣(LeetCode)

class Solution {

    /**
     * @param String $s
     * @return Integer
     */
    function longestValidParentheses($s) {
        $maxl = 0;
        $stack = [-1];
        for($i=0;$i<strlen($s);$i++){
            if($s[$i]=='('){
                array_push($stack,$i);
            }else{
                array_pop($stack);
                if(empty($stack)){
                    array_push($stack,$i);
                }else{
                    $maxl = max($maxl,$i-end($stack));
                }
            }
        }
        return $maxl;
    }
}
原文地址:https://www.cnblogs.com/corvus/p/12047485.html