• 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 }
  • 相关阅读:
    2-Rsync备份-全网备份
    1-Rsync备份-备份概述
    复杂声明学习总结
    EasyExcel的用法
    listvue
    解决Error: Cannot find module 'node-sass'问题
    Webpack
    babel的使用
    nodejs的使用
    vue入门
  • 原文地址:https://www.cnblogs.com/birdhack/p/4197801.html
Copyright © 2020-2023  润新知