
Leetcode Problem 32: Longest Valid Parentheses
Given a string containing only '(' and ')' characters, return the length of the longest valid (well-formed) parentheses substring.
Constraints:
'(' or ')'.function longestValidParentheses(s: string): number {
let maxLen = 0
let stack: number[] = [-1]
for (let i = 0; i < s.length; i++) {
let parenthesis = s.charAt(i)
if (parenthesis === '(') {
stack.push(i)
} else {
stack.pop()
if (stack.length === 0) {
stack.push(i)
} else {
maxLen = Math.max(i - stack[stack.length - 1], maxLen)
}
}
}
return maxLen
};
console.log(longestValidParentheses(")()())"))
console.log(longestValidParentheses("(()"))