Generate Parentheses
来源:互联网 发布:论文数据造假查不出来 编辑:程序博客网 时间:2024/06/10 12:25
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
思路:这是一道DFS题。规则是:在任意0-i的地方,"("的个数必须>=")"的个数才符合规则。因此,当left<n时,可使用"(",当left>right可使用")"。
class Solution {private: vector<string> res; string perRes;public: void generateParenthesisHelper(int pos, int left, int right, int n) { if (pos == 2*n) { res.push_back(perRes); } else { if (left < n) { perRes[pos] = '('; generateParenthesisHelper(pos+1, left+1, right, n); } if (left > right) { perRes[pos] = ')'; generateParenthesisHelper(pos+1, left, right+1, n); } } } vector<string> generateParenthesis(int n) { res.clear(); if(n <= 0) { return res; } perRes.clear(); perRes.resize(2*n); generateParenthesisHelper(0,0,0,n); return res; }};
0 0
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- Generate Parentheses
- c++格式化输出问题
- perl正则命名分组捕获
- Perl语言问题
- Minimum Path Sum
- 9.20
- Generate Parentheses
- ubuntu 备份与恢复
- CentOS yum 源的配置与使用
- Apache James邮件服务器配置及发送外网邮件
- mysql.connector.errors.ProgrammingError: 1049 (42000): Unknown database 'test'
- HDU 5023 A Corrupt Mayor's Performance Art (线段树)
- 详解内网IP外网IP的关联及访问互联网原理
- hdu 5025 Saving Tang Monk 2014 ACM/ICPC Asia Regional Guangzhou Online bfs
- 【android】系统属性=(属性服务,属性文件,白名单)