用一个栈来存放加入的左括号的下标;一个起始变量来标明第一个无用的右括号的位置。
然后遍历字符串,如果当前字符串为左括号就将其下标进栈,如果是右括号,就先判断当前栈是否为空。
如果为空,则start=当前下标;
如果不为空:
则将stack的元素d出
如果d出后栈为空,则说明是最后一个元素,res = max(res,i-start);
如果d出后栈不为空,则res= max(res,i-stack.peek());
代码class Solution {
public int longestValidParentheses(String s) {
Stack stack1 = new Stack<>();
int start = -1;
int res = 0;
for(int i = 0;i
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)