解题方案:
var generateParenthesis = function(n) {
let res = [];
function getArr(str,left,right){
if(str.length>=2*n){
res.push(str);
return res;
}
if(left<n){
getArr(str+'(',left+1,right)
}
if(right<left){
getArr(str+')',left,right+1)
}
}
getArr('',0,0)
return res
};
解题思路:利用递归进行有效的括号组合的生成
1、有效的括号组合字符串长度肯定是2n,其中’(‘的个数与’)‘的个数一定都是n;
2、只要’(‘的个数是少于n的,那么任何时候都可以添加;
2、一定是先有’(’,才可以有’)’;