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
最新推荐文章于 2021-08-24 11:24:33 发布
本文介绍了一种使用递归算法生成括号组合的方法,详细解释了如何通过DFS(深度优先搜索)遍历所有可能的组合,确保每一对括号正确匹配。
2070

被折叠的 条评论
为什么被折叠?



