1 Star 0 Fork 0

MetaverseMobile/leetcode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
22_括号生成.cpp 1.10 KB
一键复制 编辑 原始数据 按行查看 历史
TieNan2019 提交于 2021-02-15 18:15 . Create 22_括号生成.cpp
class Solution {
public:
int recursion(string cur, int left, int right, vector<string> & ans) {
if (left == 0) {
/* 左括号用尽时, 直接补满右括号即可 */
cur += string(right, ')');
ans.push_back(cur);
return 0;
}
/* 尝试在下一位置添加一个左括号 */
string leftHalf = cur + '(';
recursion(leftHalf, left-1, right, ans);
/* 不允许出现的右括号的次数比左括号还多 */
if (right - 1 >= left) {
/* 尝试在下一个位置添加一个右括号 */
string rightHalf = cur + ')';
recursion(rightHalf, left, right - 1, ans);
}
return 0;
}
vector<string> generateParenthesis(int n) {
vector<string> ans;
int left = n, right = n;
recursion("", left, right, ans);
return ans;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/MetaverseMobile/leetcode.git
[email protected]:MetaverseMobile/leetcode.git
MetaverseMobile
leetcode
leetcode
main

搜索帮助