购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.2 实例1
通过最小移除操作得到有效的括号

问题:给定字符串s'(',')'和小写英文字符,要求删除最小括号,即在任何位置的'('或')',以使所得的括号字符串有效并返回。

解答:形式上,括号字符串在以下情况下才有效:它是空字符串,仅包含小写字符;它可以写为AB(与B串联的A),其中A和B是有效字符串;它可以写为(A),其中A是有效字符串。

例1

例2

思路:这类问题可以利用堆栈来处理括号,注意把不符合规则的留在堆栈里面。最后遍历一遍数组,从后往前,把对应位置的括号去掉就可以了。时间复杂度为 O n )。

代码清单3-4 通过最小移除操作得到有效的括号

运行结果: CLtMH8Ok5autLc8RIgDyqJJnoAMM6ZNH/l5Qj2jL7kEJeigw+EczRmyxn0B8zSv/

点击中间区域
呼出菜单
上一章
目录
下一章
×