解题思路:
(1)从前往后,从后往前,记录balance的值
class Solution {
public:
string minRemoveToMakeValid(string s) {
int balance = 0;
int i=0;
while(i<s.length()) {
if(s[i]=='(') {
balance++;
i++;
}
else if(s[i]==')') {
balance--;
if(balance<0) {
balance=0;
s.erase(s.begin()+i);
} else i++;
} else i++;
}
if(balance==0) return s;
i=s.length()-1;
while(i>=0) {
if(s[i]=='(') {
balance--;
if(balance==0) {
s.erase(s.begin()+i);
return s;
} else {
s.erase(s.begin()+i);
i--;
}
} else i--;
}
return s;
}
};