使用了回溯的思想
var generateParenthesis = function(n) {
const res=new Array();
if(n<=0)
{
return res;
}
geneParenthesis("",n,n)
function geneParenthesis (s,left,right){
//left和right都为0时表示该结果是有效的括号组合
if(left == 0 && right == 0)
{
res.push(s);
return;
}
//如果left和right相等则下一个括号一定是"("
if(left == right)
{
geneParenthesis(s+"(",left-1,right);
}
//当left<right即可以加"( "也可以加")"
else if(left<right){
if(left>0)
{
geneParenthesis(s+"(",left-1,right);
}
geneParenthesis(s+")",left,right-1);
}
}
return res;
};