给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。
示例 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;
}
}