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
广告