LeetCode 22 Generate Parentheses
2017-06-05 11:44
417 查看
题目
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:
[ "((()))", "(()())", "(())()", "()(())", "()()()" ]
解法
使用递归的方法得到所有括号的正确组合形式。用left和right来表示左右括号的剩余数量,右括号的剩余数量大于左括号时才能增加右括号。class Solution { public: void DFS(vector<string> &res, int left, int right, string s) { if(left == 0 && right == 0) res.push_back(s); if(left > 0) DFS(res, left-1, right, s+"("); if(right > 0 && left < right) DFS(res, left, right-1, s+")"); } vector<string> generateParenthesis(int n) { vector<string> res; DFS(res,n,n,""); return res; } };
相关文章推荐
- LeetCode 22 -Generate Parentheses ( JAVA )
- [LeetCode-Algorithms-22] "Generate Parentheses" (2017.10.25-WEEK8)
- Leetcode 22 Generate Parentheses
- leetcode-22-Generate Parentheses
- 【LeetCode】【Array】【22】Generate Parentheses
- LeetCode22——Generate Parentheses(给定n对括号,然后看有多少正确的括号组合)
- LeetCode-22 Generate Parentheses(合法括号情况)
- LeetCode 22_Generate Parentheses
- LeetCode 22:Generate Parentheses
- Leetcode 22 Generate Parentheses
- LeetCode 22 Generate Parentheses
- Leetcode 22 Generate Parentheses
- LeetCode 22 Generate Parentheses 卡特兰数问题,有待进一步学习
- LeetCode 22 Generate Parentheses
- LeetCode-22-Generate Parentheses(DFS/递归)-Medium
- Generate Parentheses_Leetcode_#22
- 回溯之Leetcode22 Generate Parentheses
- [Java]LeetCode22 Generate Parentheses
- leetcode——22——Generate Parentheses
- [LeetCode 22] Generate Parentheses