生成所有括号匹配情况 Generate Parentheses
来源:互联网 发布:com.mysql.jdbc.driver 编辑:程序博客网 时间:2024/05/29 09:33
题目源自于leetcode。
题目: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:
"((()))", "(()())", "(())()", "()(())", "()()()"
解法:依然采用的递归思想来遍历所有可能的状态子空间。
代码:
class Solution {public:vector<string> generateParenthesis(int n) {// IMPORTANT: Please reset any member data you declared, as// the same Solution instance will be reused for each test case.vector<string> s;fun(s, "", 0, n);return s;}void fun(vector<string> &s, string result, int stack, int left){if(stack ==0 && left == 0){s.push_back(result);return;}if(left > 0){if(stack==0){fun(s, result+'(', stack+1, left-1);}else{fun(s, result+'(', stack+1, left-1);fun(s, result+')', stack-1, left);}}else{if(stack>0){fun(s, result+')', stack-1, left);}}}};
- 生成所有括号匹配情况 Generate Parentheses
- Generate Parentheses--生成匹配括号(重)
- Generate Parentheses (括号匹配)【leetcode】
- LeetCode22 Generate Parentheses 括号生成
- [Lintcode]Generate Parentheses 生成括号
- Generate Parentheses:生成括号对
- LeetCode-22 Generate Parentheses(合法括号情况)
- Generate Parentheses 产生所有括号组合 @LeetCode
- Leetcode:Generate Parentheses 生成有效括号对
- LeetCode | Generate Parentheses(生成括号)
- Generate Parentheses 生成有意义的括号对
- LeetCode 22 Generate Parentheses(生成括号)
- Generate Parentheses 生成括号-- LintCode题解
- LeetCode 22. Generate Parentheses(生成括号)
- Generate Parentheses 生成合法的括号组合
- LeetCode 22 Generate Parentheses(生成括号)
- 22. Generate Parentheses(生成括号)
- LeetCodet题解--22. Generate Parentheses(生成n对匹配的括号)
- 嵌入式硬件系统结构
- Java NIO(2):缓冲区基础
- 研读:OASIS:On Achieving a Sanctuary for Integrity and Secrecy on Untrusted Platforms
- LLVM 文档总结
- php去除警告
- 生成所有括号匹配情况 Generate Parentheses
- jdk环境变量的配置
- c语言int型数组长度求法及测试
- 检测某个txt文件是gbk编码还是utf8编码
- 博客新鸟
- baseline日常使用小结
- CSS display 属性
- 华为编程大赛—路灯统计
- JAVA加强——反射机制