Files
LeetCode/Hard/longest-valid-parentheses/solution.cpp
Arkaprabha Chakraborty cab1180397 Refactor almost everything
2022-08-02 12:21:43 +05:30

27 lines
594 B
C++

#include <stack>
#include <string>
class Solution {
public:
int longestValidParentheses(std::string line) {
std::stack<int> shelf;
shelf.push(-1);
int max = 0;
for (int i = 0; i < line.length(); ++i) {
if (line[i] == '(') {
shelf.push(i);
} else {
shelf.pop();
if (shelf.empty()) {
shelf.push(i);
} else if (max < i - shelf.top()) {
max = i - shelf.top();
}
}
}
return max;
}
};