Longest Valid Parentheses LeetCode solution in JavaScript
1var longestValidParentheses = function (s) {2let indexStack = [-1];3let characterStack = [];4let maxLength = 0;5for (let i = 0; i < s.length; i++) {6if (s[i] == "(") {7indexStack.push(i);8characterStack.push(s[i]);9} else {10if (characterStack[characterStack.length - 1] == "(") {11indexStack.pop();12characterStack.pop();13if (maxLength < i - indexStack[indexStack.length - 1]) {14maxLength = i - indexStack[indexStack.length - 1];15}16} else {17indexStack.push(i);18}19}20}21return maxLength;22};