LeetCode 921. 使括号有效的最少添加(栈)
生活随笔
收集整理的这篇文章主要介绍了
LeetCode 921. 使括号有效的最少添加(栈)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1. 题目
给定一个由 '(' 和 ')' 括号组成的字符串 S,我们需要添加最少的括号( '(' 或是 ')',可以在任何位置),以使得到的括号字符串有效。
从形式上讲,只有满足下面几点之一,括号字符串才是有效的:
- 它是一个空字符串,或者
- 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者
- 它可以被写作 (A),其中 A 是有效字符串。
给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。
示例 1: 输入:"())" 输出:1示例 2: 输入:"(((" 输出:3示例 3: 输入:"()" 输出:0示例 4: 输入:"()))((" 输出:4提示: S.length <= 1000 S 只包含 '(' 和 ')' 字符。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-add-to-make-parentheses-valid
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
类似题目:LeetCode 5470. 平衡括号字符串的最少插入次数 medium
- 用栈来匹配,未匹配的在栈内留下来
or
用左右括号计数来表示
总结
以上是生活随笔为你收集整理的LeetCode 921. 使括号有效的最少添加(栈)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: LeetCode 974. 和可被 K
- 下一篇: LeetCode 1480. 一维数组的