关闭

LeetCode之Longest Valid Parentheses

标签: Leetcode
193人阅读 评论(0) 收藏 举报
分类:
/*开一个栈,用来存储'('的下标。每一个')'会匹配一个'('。
参考自:https://github.com/soulmachine/leetcode*/
class Solution {
public:
    int longestValidParentheses(string s) {
        if(s.empty()) return 0;
        stack<int> left_idx;
        int last(-1), res(0);
        for(int i = 0; i < s.size(); ++i){
            if(s[i] == '(') left_idx.push(i);
            else{
                if(left_idx.empty()) last = i;
                else{
                    left_idx.pop();
                    if(left_idx.empty()) res = max(res, i-last);
                    else res = max(res, i-left_idx.top());
                }
            }
        }
        return res;
    }
};

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:45346次
    • 积分:1775
    • 等级:
    • 排名:千里之外
    • 原创:125篇
    • 转载:68篇
    • 译文:1篇
    • 评论:0条