Minimum Remove to Make Valid Parentheses LeetCode solution in C++
1class Solution {2public:3string minRemoveToMakeValid(string s) {4int count = 0;5for (int i = 0; i < s.size(); i++) {6if (s[i] == '(') {7count++;8}9if (s[i] == ')') {10if (count == 0) {11s[i] = '*';12} else {13count--;14}15}16}17if (count == 0) {18s.erase(remove(s.begin(), s.end(), '*'), s.end());19return s;20}21for (int i = s.size() - 1; i >= 0; i--) {22if (s[i] == '(') {23s[i] = '*';24count--;25}26if (count == 0) {27s.erase(remove(s.begin(), s.end(), '*'), s.end());28return s;29}30}31return s;32}33};