[leetCode]Generate Parentheses
2014-04-08 20:31
295 查看
思路:每次插入一对括号,注意对于之前出现过的字符串就不要在处理了,否则会TLE.
1 #include <string> 2 #include <vector> 3 #include <set> 4 using namespace std; 5 class Solution { 6 public: 7 set<string> strset; 8 vector<string> generateParenthesis(int n) { 9 string s = ""; 10 vector<string> ret; 11 if(n <= 0) return ret; 12 generate(n,s,0,ret); 13 return ret; 14 } 15 void generate(int n, string s, int index, vector<string> &ret){ 16 s.insert(index,"()"); 17 if(strset.find(s) != strset.end()) return;// get TLE without this sentence; 18 strset.insert(s); 19 if(n <= 1){ 20 ret.push_back(s); 21 }else{ 22 for(int i = 0; i < s.length(); i++){ 23 generate(n-1,s,i,ret); 24 } 25 } 26 } 27 };
相关文章推荐
- LEETCODE: Generate Parentheses
- [LeetCode-Algorithms-22] "Generate Parentheses" (2017.10.25-WEEK8)
- Leetcode 22 Generate Parentheses
- LeetCode - Generate Parentheses
- [Leetcode] Generate Parentheses
- [leetcode 23] Generate Parentheses
- Leetcode (Generate Parentheses )
- 15_leetcode_Generate Parentheses
- LeetCode 022 Generate Parentheses
- LeetCode解题报告—— 4Sum & Remove Nth Node From End of List & Generate Parentheses
- leetcode - Generate Parentheses
- leetcode之Generate Parentheses
- [leetcode]Generate Parentheses
- [*leetcode 22] Generate Parentheses
- 【leetcode】Generate Parentheses
- LeetCode 22 Generate Parentheses
- [LeetCode]: 22 : Generate Parentheses
- [LeetCode] Generate Parentheses
- LeetCode-Generate Parentheses
- [leetcode]Generate Parentheses