class Solution {
public:
int num;
vector<string> generateParenthesis(int n) {
vector<string> res;
if(n<=0){
return res;
}
num=n;
generate(0,0,"",res);
return res;
}
// num 代表有多少对
void generate(int left,int right,string str,vector<string> &res){
if(left==num&&right==num){
res.push_back(str);
return ;
}
if(left<num){
generate(left+1,right,str+'(',res);
}
if(right<num&&left>right){
generate(left,right+1,str+')',res);
}
}
};