32_LongestValidParentheses - a920604a/leetcode GitHub Wiki
title: 32. Longest Valid Parentheses
tags:
- stack
- dp
- Two pointers
categories: leetcode
comments: false
class Solution {
public:
int longestValidParentheses(string s) {
stack<int> sta;
int start = 0, ret= 0;
for(int i=0;i<s.size();++i){
char c= s[i];
if(c=='('){
sta.push(i);
}
else{
if(sta.empty()) start = i+1;
else{
sta.pop();
if(sta.empty()) ret = max(i-start+1, ret);
else ret = max(ret, i- sta.top());
}
}
}
return ret;
}
};