用 JavaScript 平衡 n 个括号的所有方法
问题
我们需要编写一个 JavaScript 函数,该函数需要一个数字 n。我们的函数应返回一个数组,显示平衡 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);
输出
以下是在控制台中输出的内容 −
[ '((()))', '(()())', '(())()', '()(())', '()()()' ]
广告