backtracking: 22. Generate Parentheses
来源:互联网 发布:pip安装tensorflow 编辑:程序博客网 时间:2024/05/23 12:18
- 法一
- 法二
法一:
class Solution {public: char p[2] = {'(', ')'}; int half; void Generate_Parentheses(vector<string> &rel, int stt, int left, int right, int n, string tmp) { if(stt == n) { if(left == half) rel.push_back(tmp); return; } for(int i = 0; i < 2; i++) { tmp += p[i]; if((left + 1 >= right + 2*i) && (left + 1 - i <= half)) Generate_Parentheses(rel, stt + 1, left + 1 - i, right + i, n, tmp); tmp.pop_back(); } } vector<string> generateParenthesis(int n) { vector<string> rel; string tmp; half = n; Generate_Parentheses(rel, 0, 0, 0, n << 1, tmp); return rel; }};
法二:
class Solution {public: vector<string> generateParenthesis(int n) { vector<string> res; string sol; genParen(sol, 0, 0, n, res); return res; }private: void genParen(string& sol, int open, int close, int total, vector<string>& res) { if (open == total && close == total) { res.push_back(sol); return; } if (open < total) { sol += '('; genParen(sol, open + 1, close, total, res); sol.resize(sol.length() - 1); } if (close < open) { sol += ')'; genParen(sol, open, close + 1, total, res); sol.resize(sol.length() - 1); } }};
1 0
- backtracking: 22. Generate Parentheses
- (M)Backtracking:22. Generate Parentheses
- 【Leetcode】Generate Parentheses (Backtracking)
- [LeetCode]22.Generate Parentheses
- LeetCode --- 22. Generate Parentheses
- LeetCode 22.Generate Parentheses
- [Leetcode] 22. Generate Parentheses
- 【LeetCode】22.Generate Parentheses
- 22. Generate Parentheses
- [leetcode] 22.Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode-22.Generate Parentheses
- [leetcode] 22. Generate Parentheses
- 22. Generate Parentheses
- 22. Generate Parentheses
- 22. Generate Parentheses LeetCode
- 22. Generate Parentheses
- leetcode 22. Generate Parentheses
- 配置JDBC连接池
- SPOJ DWARFLOG 线段树
- 谈谈对象大小——从字节对齐到对象模型
- SRM 688 ParenthesesDiv2Hard
- Linux文件权限及用户管理
- backtracking: 22. Generate Parentheses
- linux命令中的特殊字符
- Java——包装类
- PAT甲级1013
- 【C++】引用调用
- 剑指offer之字符串字典序全排列
- PAT 1010 Radix
- 448. Find All Numbers Disappeared in an Array
- 不使用额外变量和数组的插入排序