在 JavaScript 中尋找括號的平衡


給定一個僅由兩種字元組成的字串:“(“和“)”。我們要求編寫一個函式,該函式採用一個這樣的字串,並透過多次插入“(“或“)”來平衡括號。然後,函式應返回字串中進行的最小插入次數以平衡該字串。

例如:如果字串為 −

const str = '()))';

則應輸出 2,因為透過在前增添“((”,我們可以平衡該字串。

示例

此程式碼如下 −

const str = '()))';
const balanceParanthesis = str => {
   let paren = [];
   for (let i = 0; i < str.length; i++) {
      if (str[i] === "(") {
         paren.push(str[i]);
      } else if (str[i] === ")") {
         if (paren[paren.length - 1] === "("){
            paren.pop();
         }else {
            paren.push("#");
         };
      };
   }
   return paren.length;
}
console.log(balanceParanthesis(str));

輸出

控制檯中的輸出將為 −

2

更新於: 2020 年 10 月 24 日

290 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始吧
廣告
© . All rights reserved.