class Solution {
public:
vector<string> res;
void dfs(string s, int left, int right, int n){
if(left == n && right == n){
res.push_back(s);
return;
}
if(left < n){
dfs(s+'(', left+1, right, n);
}
if(right < n && right < left){
dfs(s+')', left, right +1, n);
}
return;
}
vector<string> generateParenthesis(int n) {
string s;
dfs(s, 0, 0, n);
return res;
}
};
Generate Parentheses
最新推荐文章于 2022-05-10 19:05:11 发布