题目:https://leetcode.com/problems/generate-parentheses/description/
代码:
class Solution {
public:
vector<string> generateParenthesis(int n) {
vector<string> res;
string t;
trans(t,res,0,0,n);
return res;
}
void trans(string t,vector<string> &res,int left,int right,int n){
if(right == n){
res.push_back(t);
}else if(left == n){
t+=')';
trans(t,res,left,right+1,n);
}else{
if(left>right)
trans(t+')',res,left,right+1,n);
trans(t+'(',res,left+1,right,n);
}
}
};