其他分享
首页 > 其他分享> > leetcode32. 最长有效括号

leetcode32. 最长有效括号

作者:互联网

leetcode32. 最长有效括号

给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。

输入:s = ")()())"
输出:4
解释:最长有效括号子串是 "()()"
class Solution {
public:
    int longestValidParentheses(string s) {
        int res=0;
        stack<int> stk;
        for(int i=0,start=-1;i<s.size();i++)
        {
            if(s[i]=='(')
            stk.push(i);
            else
            {
                if(stk.size())
                {
                    stk.pop();
                    if(stk.size())
                    {
                        res=max(res,i-stk.top());
                    }
                    else
                    res=max(res,i-start);
                }
                else
                {
                    start=i;
                }
            }
        }
        return res;
    }
};

标签:子串,有效,int,括号,leetcode32,最长
来源: https://www.cnblogs.com/chen-ustc/p/15857255.html