给定一个仅包含两种类型的字符的字符串:“(”和“)”。我们需要编写一个函数,该函数接受一个这样的字符串并通过根据需要多次插入“(”或“)”来平衡括号。
然后,该函数应返回在字符串中进行插入的最小次数以平衡它。例如-
如果字符串是-
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