首页 > 代码库 > 【LeetCode】022. Generate Parentheses
【LeetCode】022. 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:
[ "((()))", "(()())", "(())()", "()(())", "()()()" ]
题解:
Solution 1 ()
class Solution { public: void dfs(int n, int level, int sum, vector<string>& vs, string& s) { if(sum<0) { sum = 0; return; } if(level >= n) { if(sum !=0 ) return; vs.push_back(s); return; } s.push_back(‘(‘); sum++; dfs(n, level+1, sum, vs, s); s.pop_back(); sum--; s.push_back(‘)‘); sum--; dfs(n, level+1, sum, vs, s); s.pop_back(); sum++; } vector<string> generateParenthesis(int n) { vector<string> vs; string s; if(n<=0) return vs; dfs(2*n, 0, 0, vs, s); return vs; } };
【LeetCode】022. Generate Parentheses
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。