1249. Minimum Remove to Make Valid Parentheses
https://leetcode.com/contest/weekly-contest-161/problems/minimum-remove-to-make-valid-parentheses/
Thoughts
Code
class Solution {
public:
string minRemoveToMakeValid(string s) {
int r = 0;
string res;
for (int i = 0; i < s.length(); ++i) {
if (s[i] == '(') ++r;
else if (s[i] == ')') --r;
if (r >= 0) {
res.push_back(s[i]);
} else ++r;
}
s = res;
res.clear();
r = 0;
for (int i = s.length() - 1; i >= 0; --i) {
if (s[i] == ')') ++r;
else if (s[i] == '(') --r;
if (r >= 0) {
res.push_back(s[i]);
} else ++r;
}
reverse(res.begin(), res.end());
return res;
}
};Analysis
Last updated