在 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 次浏览

开启你的职业生涯

完成课程获得认证

开始吧
广告