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:
[ "((()))", "(()())", "(())()", "()(())", "()()()"]answer:
class Solution {public: vector<string> generateParenthesis(int n) { vector<string> result; string str = ""; addPar(result,str,n,0); return result; } void addPar(vector<string> & result, string str, int left, int right){ if(left == 0 && right == 0){ result.push_back(str); return; } if(left > 0){ addPar(result, str + "(", left - 1, right + 1); } if(right > 0){ addPar(result, str + ")", left, right - 1); } }};
新闻热点
疑难解答