用 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);

輸出

以下是在控制檯中輸出的內容 −

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

更新於: 2021 年 4 月 17 日

129 次瀏覽

開啟 職業生涯

完成課程,獲得認證

立即開始
廣告
© . All rights reserved.