在 JavaScript 中平衡 n 括号的所有方法

问题

我们需要编写一个接受数字 n 的 JavaScript 函数。我们的函数应该返回一个数组,显示平衡 n 括号的所有方法。

例如,对于 n = 3,输出将为 -

["()()()","(())()","()(())","(()())","((()))"]

示例

以下是代码 -

const res = [];

const buildcombination = (left, right, str) => {

   if (left === 0 && right === 0) {

      res.push(str);

   }

   if (left > 0) {

      buildcombination(left-1, right+1, str+"(");

   }

   if (right > 0) {

      buildcombination(left, right-1, str+")");

   }

}

buildcombination(3, 0, "");

console.log(res);

输出结果

以下是控制台输出 -

[ '((()))', '(()())', '(())()', '()(())', '()()()' ]

以上是 在 JavaScript 中平衡 n 括号的所有方法 的全部内容, 来源链接: utcz.com/z/327546.html

回到顶部