LeetCode 22 Generate Parentheses
来源:互联网 发布:linux程序设计pdf下载 编辑:程序博客网 时间:2024/05/01 17:00
题意:
用n组小括号,生成所有满足括号匹配的序列。
思路:
我用了比较粗暴的方式,用set不断迭代答案,每次迭代使得括号组数+1直到n为止。
还有一种方法是dfs构造,因为长度已经确定,所以每个位置要么放(要么放),利用前缀和维护括号匹配即可。
代码:
class Solution {public: vector <string> generateParenthesis(int n) { set <string> tmp{""}; while (n--) { tmp = grow(tmp); } vector <string> ans; for (auto it : tmp) { ans.push_back(it); } return ans; }private: set <string> grow(set <string> &fa) { set <string> son; for (auto it : fa) { son.insert("(" + it + ")"); for (int i = 0; i < it.size(); ++i) { son.insert(it.substr(0, i + 1) + "()" + it.substr(i + 1, it.size() - i - 1)); } } return son; }};
0 0
- 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
- Generate Parentheses - LeetCode 22
- leetcode 22 -- Generate Parentheses
- leetcode-22Generate 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 21 Merge Two Sorted Lists
- 灾后重建_洛谷1119_最短路
- 存储器这个小话题(3)
- ubuntu 16.04安装搜狗输入法
- 51nod--1770数数字
- LeetCode 22 Generate Parentheses
- 新的开始
- FP-growth算法高效实现
- 2016年总结
- 抽象方法、接口、继承、多态、图形计算器
- 微信小程序_文笔记+(第一章)
- GC
- PDO(php data object)+事务
- LeetCode 23 Merge k Sorted Lists