在 JavaScript 中将整数放在正确的索引处

问题

我们需要编写一个 JavaScript 函数,它接受一个字符串 str,它只包含 '[' 或 ']'。 

我们的函数应该添加最少数量的方括号('[' 或 ']',并且在任何位置),以便生成的括号组合字符串有效。最后,我们应该返回添加的最少数量的括号。

例如,如果函数的输入是

输入

const str = '[]]';

输出

const output = 1;

输出说明

因为,如果我们在开头添加 '[',字符串将被平衡。

示例

const findAdditions = (str = '') => {
   let left = 0
   let right = 0
   for (let i = 0; i < str.length; i++) {
      if (str[i] === '[') {
         left += 1
      } else if (str[i] === ']') {
         if (left > 0) {
            left -= 1
         } else {
            right += 1
         }
      }
   }
   return left + right;
};
console.log(findAdditions(str));
输出结果
1