加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
leetcode22.cpp 973 Bytes
一键复制 编辑 原始数据 按行查看 历史
jamesjd_handsome 提交于 2018-12-15 13:19 . leetcode18~22 2018 12 14
// 22. Generate Parentheses
// Medium
// Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.
// For example, given n = 3, a solution set is:
// [
// "((()))",
// "(()())",
// "(())()",
// "()(())",
// "()()()"
// ]
#include <vector>
#include <iostream>
using namespace std;
class Solution
{
void helper(vector<string> &vc, string tmp, int m, int n)
{
if (m == 0 && n == 0)
{
vc.push_back(tmp);
return;
}
if (m > 0)
{
helper(vc, tmp + "(", m - 1, n);
}
if (n > 0 && m < n)
{
helper(vc, tmp + ")", m, n - 1);
}
}
public:
vector<string> generateParenthesis(int n)
{
vector<string> res;
string tmp;
helper(res, tmp, n, n);
return res;
}
};
int main()
{
Solution a;
auto b = a.generateParenthesis(3);
cout << b.size();
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化