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-01

2K+ 查看

开始你的 职业

完成课程获取认证

开始
广告