Advertisement

LeetCode 921:最少添加使括号有效

阅读量:

【对于一个由 '('')' 构成的字符串 S,我们的目标是通过在任意位置插入最少数量的括号(可以是 '('')'),使得最终得到的括号字符串成为有效形式。

从形式角度而言,有效的括号字符串需满足以下条件之一:

  • 字符串为空,或者
  • 字符串可表示为 AB 的形式(即 AB 相连),其中 AB 均为有效字符串,或者
  • 字符串可表示为 (A) 的形式,其中 A 是有效字符串。

针对给定的括号字符串,请计算使其变为有效字符串所需添加的最少括号数目。

示例 1:

复制代码
    **输入:****输出:**
复制代码
    **输入:****输出:**
复制代码
    **输入:****输出:**
复制代码
    **输入:****输出:**

提示:

  1. S.length <= 1000
  2. S 仅由 '('')' 这两个字符组成。

解析:

题目中所给出的示例较为丰富,但关键在于对各种可能情况进行全面分析。当输入为 '(' 时,应将其压入栈中;而遇到 ')' 时,则需检查栈内是否已有元素,若存在,则将其弹出,否则将计数器 count 增加1。在处理完整个字符串后,栈中可能仍残留部分 `'('

全部评论 (0)

还没有任何评论哟~