class { public: intlongestValidParentheses(string s){ stack<int>Q; for(int i = 0; s[i]; i++){ if(Q.empty()) Q.push(i); else{ if(s[Q.top()] == '(' && s[i] == ')') Q.pop(); else Q.push(i); } } if(Q.empty()) return s.length(); int res = 0; int right = s.length(); int left = 0; while(!Q.empty()){ left = Q.top(); Q.pop(); res = max(res, right - left - 1); right = left; } res = max(res, right); return res; } };
近期评论