22. Generate Parentheses
22. Generate Parentheses
Total Accepted: 70039 Total Submissions: 203043 Difficulty: Medium
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
Hide Tags
Hide Similar Problems
class Solution { public: vector<string> generateParenthesis(int n) { vector<string> res; generateParenthesis(res,"",n,n); return res; } void generateParenthesis(vector<string>& res,string str,int left,int right){ if(left ==0 && right == 0 ){ res.push_back(str); return ; } if(left>0) generateParenthesis(res,str+"(",left-1,right); if(right>left) generateParenthesis(res,str+")",left,right-1); } };
写者:zengzy
出处: http://www.cnblogs.com/zengzy
标题有【转】字样的文章从别的地方转过来的,否则为个人学习笔记