class Solution {
public:
vector<string> answer;
void dfs(int l,int r,string s){
if(l==0&&r==0){
answer.emplace_back(s);
return;
}
if(l>0){
s+='(';
dfs(l-1,r,s);
s.pop_back();
}
if(r>0&&l<r){
s+=')';
dfs(l,r-1,s);
s.pop_back();
}
}
vector<string> generateParenthesis(int n) {
string s;
dfs(n,n,s);
return answer;
}
};

京公网安备 11010502036488号