
使用了回溯的思想
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;
};
版权声明:本文为big_wolf0原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。