2023每日刷题(七十九)
Leetcode—22.括号生成
算法思想
实现代码
class Solution {
public:
vector<string> generateParenthesis(int n) {
vector<string> ans;
int m = n * 2;
string path(m, 0);
function<void(int, int)> dfs = [&](int i, int open) {
if(i == m) {
ans.emplace_back(path);
return;
}
// 可以填左括号
if(open < n) {
path[i] = '(';
dfs(i + 1, open + 1);
}
// 可以填右括号
if(i - open < open) {
path[i] = ')';
dfs(i + 1, open);
}
};
dfs(0, 0);
return ans;
}
};
运行结果
文章来源:https://www.toymoban.com/news/detail-818740.html
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!文章来源地址https://www.toymoban.com/news/detail-818740.html
到了这里,关于Leetcode—22.括号生成【中等】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!