首页 > 代码库 > [leetcode] Longest Valid Parentheses @python
[leetcode] Longest Valid Parentheses @python
Given a string containing just the characters ‘(‘
and ‘)‘
, find the length of the longest valid (well-formed) parentheses substring.
For "(()"
, the longest valid parentheses substring is "()"
, which has length = 2.
Another example is ")()())"
, where the longest valid parentheses substring is "()()"
, which has length = 4.
class Solution: # @param s, a string # @return an integer def longestValidParentheses(self, s): #解题思路:返回括号串中合法括号串的长度。使用栈。这个解法比较巧妙,开辟一个栈,压栈的不是括号,而是未匹配左括号的索引! maxLen = 0 stack = [] last = -1 for i in range(len(s)): if s[i] == ‘(‘: stack.append(i) else: if stack == []: last = i else: stack.pop() if stack == []: maxLen = max(maxLen, i - last) else: maxLen = max(maxLen, i - stack[-1]) return maxLen
[leetcode] Longest Valid Parentheses @python
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。