zoukankan      html  css  js  c++  java
  • leetcode[32]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.

    class Solution {
    public:
        int longestValidParentheses(string s) {
        int n=s.size();
        if(n==0||n==1)return 0;
        stack<int> stk;
        int len=0;
        for (int i=0;i<s.size();i++)
        {
            if(s[i]=='(')stk.push(i);
            else
            {
                if(!stk.empty()&&s[stk.top()]=='(')
                {
                    stk.pop();
                    int tenlen=stk.empty()?i+1:i-stk.top();
                    len=tenlen>len?tenlen:len;
                }
                else
                    stk.push(i);
            }
        }
        return len;      
        }
    };
  • 相关阅读:
    洛谷
    洛谷
    洛谷
    洛谷
    洛谷
    模板
    模板
    模板
    洛谷
    模板
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4283608.html
Copyright © 2011-2022 走看看