题目描述
解题思路
首先想到的就是所有的合法的有效括号,必然是用到栈的结构,结果直接提交显示失败,这样求的是全部的合法的字符串,而题目要求的是子串的合法的括号的最大长度。这时候采用的另一种入队方式,就是当遇到的(的时候将)括号入队,在出队的时候进行最长长度的更新,就是)括号的下标减去栈顶的元素。
代码如下
class Solution:def longestValidParentheses(self, s: str) -> int:#可以设置一个连续的标志位置#可以使用栈的思想result=0templist=[-1]for i in range(0,len(s)):if s[i]=="(":templist.append(i)else:templist.pop()if templist==[]:templist.append(i)else:if result<i-templist[-1]:result=i-templist[-1]return result