先找出不合法的左括号个数和右括号个数,利用dfs不断删除"(“或者”)",直到不合法个数为0;
检验删除后的括号串是否合法。
class Solution {
private:
vector<string> ans;
void dfs(string s, int st, int l, int r){
if(l==0&&r==0){
if(check(s)){
ans.push_back(s);
}
return;
}
for(int i=st;i<