Longest Valid Parentheses
在一个由”(”、”)”组成的字符串中,寻找最长匹配长度
本题的关键在于要记住匹配序列之前的位置,pos用来记录这一数据
class Solution(object):
def longestValidParentheses(self, s):
"""
:type s: str
:rtype: int
"""
pos = []
n = len(s)
res = 0
for i in range(n):
if s[i] == '(':
pos.append(i)
else :
if len(pos) and s[pos[-1]] == '(':
pos.pop()
pre = -1
if len(pos):
pre = pos[-1]
res = i-pre if i-pre> res else res
else:
pos.append(i)
return res