/**
* @param {string} s
* @return {number}
*/
var longestValidParentheses = function (s) {
let [max, left, right] = [0, 0, 0];
for (let i = 0; i < s.length; i++) {
if (s[i] == "(") {
left += 1;
} else {
right += 1;
}
if (left == right) {
max = max < 2 * right ? 2 * right : max;
} else if (left < right) {
right = 0;
left = 0;
}
}
//一定要注意清空哦
right = 0;
left = 0;
for (let i = s.length - 1; i >= 0; i--) {
if (s[i] === "(") {
left += 1;
} else {
right += 1;
}
if (left == right) {
max = max < 2 * right ? 2 * right : max;
} else if (left > right) {
right = 0;
left = 0;
}
}
return max;
};