题解 | #最长的括号子串#

最长公共前缀

http://www.nowcoder.com/practice/28eb3175488f4434a4a6207f6f484f47

class Solution {
public:
    /**
     * 
     * @param s string字符串 
     * @return int整型
     */
    int longestValidParentheses(string s) {
        // write code here
        int n = s.length();
        stack<int> stk;
        stk.push(-1); //最后一次未匹配的右括号
        int ans = 0;
        for(int i = 0; i < n; i ++){
            if(s[i] == '(') stk.push(i);
            else{
                stk.pop();
                if(stk.empty()) stk.push(i); //未匹配的右括号
                else{
                    ans = max(ans, i - stk.top());
                }
            }
        }
        return ans;
    }
};
全部评论

相关推荐

运营3年修炼中接简历辅导:你的科研项目经历里,只写了你的动作,没有写你的思考和成果,不要只写使用什么进行了什么,这等于罗列你的任务,简历是为了突出你的优秀,你在什么样的任务背景下,克服了什么样的困难,针对性地做了哪些事情,最后达成了什么成果(用数据体现你的成果和效率)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务