[LeetCode] Generate Parentheses
2014-07-25 08:21
447 查看
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:
For example, given n = 3, a solution set is:
"((()))", "(()())", "(())()", "()(())", "()()()"
class Solution { public: vector<string> generateParenthesis(int n) { vector<string> list; stack<string> stack1 ; stack<int> vaStack1; stack1.push("("); vaStack1.push(0);//存储右括号的数量 while(stack1.size()!=0){ string s = stack1.top(); int v = vaStack1.top();//v是右括号的数量 stack1.pop(); vaStack1.pop(); if(s.size()==n*2){ list.push_back(s); continue; } if(s.size()-v<n){//左括号的数量小于n,给s后面补左括号 stack1.push(s+"("); vaStack1.push(v); } if(2*v<s.size()){//缺右括号,给s后面补左括号 stack1.push(s+")"); vaStack1.push(v+1); } } return list; } };
相关文章推荐
- 【题解】【排列组合】【回溯】【Leetcode】Generate Parentheses
- Generate Parentheses leetcode java
- Generate Parentheses (括号匹配)【leetcode】
- [LeetCode]Generate Parentheses题解
- 【Leetcode】Generate Parentheses (Backtracking)
- LeetCode:Generate Parentheses
- LeetCode-Generate Parentheses
- [LeetCode] Generate Parentheses 解题报告
- 23 leetcode - Generate Parentheses
- [leetcode] Generate Parentheses
- leetcode Generate Parentheses python
- LeetCode 21 Generate Parentheses
- [leetcode] Generate Parentheses
- leetcode 第20-21题 Valid Parentheses & Generate Parentheses
- [leetcode]Generate Parentheses
- [leetcode刷题系列]Generate Parentheses
- [LeetCode]Generate Parentheses
- Generate Parentheses - LeetCode
- LeetCode - Generate Parentheses
- [LeetCode] 032: Generate Parentheses