zoukankan      html  css  js  c++  java
  • LeetCode Longest Valid Parentheses

    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.

     1 public class Solution {
     2     public int longestValidParentheses(String s) {
     3         if (s == null) {
     4             return  0;
     5         }
     6         int maxlen=0;
     7         Stack<Integer> stack = new Stack<Integer>();
     8         stack.add(-1);
     9         for (int i = 0; i < s.length(); i++) {
    10             if (s.charAt(i) == '(') {
    11                 stack.add(i);
    12             } else {
    13                 stack.pop();
    14                 if (stack.isEmpty()) {
    15                     stack.add(i);
    16                 } else {
    17                     maxlen=Math.max(maxlen,i-stack.peek());
    18                 } 
    19             }
    20         }
    21         return maxlen;
    22     }
    23 }
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    落忆枫音(我们终将成为”枫音乡的过客“)
    PID221 / 烦人的幻灯片☆ x
    codevs 5971 打击犯罪 x
    洛谷 P2330 [SCOI2005] 繁忙的都市 x
  • 原文地址:https://www.cnblogs.com/birdhack/p/4197801.html
Copyright © 2011-2022 走看看