32. Longest Valid Parentheses

class Solution {
  public static int longestValidParentheses(String s) {
        int res=0,start=0;
        Stack<Integer> sk=new Stack<>();
        for (int i=0;i<s.length();i++)
        {
            if(s.charAt(i)=='(')
            {
                sk.push(i);
            }
            else
            {
                if(sk.isEmpty())
                {
                    start=i+1;
                }
                else {

                    sk.pop();
                    res=sk.isEmpty()?  Math.max(res,i-start+1):Math.max(res,i-sk.peek());
                }

            }
        }
        return res;
    }
}

 

上一篇:(栈)leetcode856 Score of Parentheses


下一篇:如何在@括号(“Luke”)之类的Java注释中使用括号内没有属性?