[leetcode]Generate Parentheses
2014-05-03 14:24
363 查看
Generate Parentheses
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
解题思路:卡特兰数变形
void innerGenerateParenthesis(vector<string> &vs, string &str, int lc, int rc, int n){ if(lc == n && rc == n){ vs.push_back(str); return; } if(lc < n){ str.push_back('('); innerGenerateParenthesis(vs, str, lc + 1, rc, n); str.pop_back(); } if(rc < n && rc < lc){//入栈的左括号一定要大于等于右括号数 str.push_back(')'); innerGenerateParenthesis(vs, str, lc, rc + 1, n); str.pop_back(); } } 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> vs; string str; //暂存变量 innerGenerateParenthesis(vs, str, 0, 0, n); return vs; }
相关文章推荐
- leetcode-Generate Parentheses
- LeetCode - Generate Parentheses
- [LeetCode] Generate Parentheses 生成括号
- LeetCode记录之——Generate Parentheses
- 《leetCode》:Generate Parentheses(hard)
- 【LeetCode】Generate Parentheses
- LeetCode 22 Generate Parentheses
- leetcode——Generate Parentheses
- [leetcode 22] Generate Parentheses
- Leetcode: Generate Parentheses
- leetcode-22-Generate Parentheses
- [leetcode 22]Generate Parentheses-----n对括号可以组成的括号对序列
- LeetCode OJ Generate Parentheses
- Leetcode 22 Generate Parentheses
- [LeetCode]Generate Parentheses@python
- 【LeetCode】【Array】【22】Generate Parentheses
- [Leetcode] Generate Parentheses
- LeetCode(Generate Parentheses)
- [Leetcode-22]Generate Parentheses 生成圆括号
- 【leetcode】Generate Parentheses