32. Longest Valid Parentheses
problem description
Given a string containing just the characters '('
and ')'
, find the length of the longest valid (well-formed) parentheses substring.
Example 1:
Example 2:
algorithm thought
括号匹配问题就是用栈解决,这里其实也存在括号匹配,所以首先考虑用栈解决。这题比括号匹配需要多考虑的一个点就是如果右括号多了的话,需要重新开始记录,因为后面的肯定和前面的括号不能连在一起了。所以这里需要特殊考虑。
我首先自己写了一个双栈的代码,一个记录之前匹配好的括号的值,一个是记录左右括号括号的。但是后面看了discuss发现其实用一个栈就行,每次直接一次匹配完当前合法的,也就是右括号没多的情况。如果右括号多了,就改变一下start pos
code
algorithm analysis
不管是使用两个栈还是一个栈,时间复杂度都是O(n),但是一个栈的方法明显好很多。
Last updated