leetcode最长有效括号

. - 力扣(LeetCode)

32. 最长有效括号

困难

相关标签

相关企业

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

子串

的长度。

示例 1:

复制代码
输入:s = "(()"
输出:2
解释:最长有效括号子串是 "()"

示例 2:

复制代码
输入:s = ")()())"
输出:4
解释:最长有效括号子串是 "()()"

示例 3:

复制代码
输入:s = ""
输出:0

提示:

  • 0 <= s.length <= 3 * 104
  • s[i]'('')'
cpp 复制代码
class Solution {
public:
    int longestValidParentheses(string s) {
        stack<char> str;
        int max_len = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s[i] == '(') {
                if (str.size() > 0 && str.top() == '(') {
                    continue;
                }
                str.push(s[i]);
            } else if (str.size() > 0) {
                char val = str.top();
                if (val == '(') {
                    str.push(s[i]);
                    max_len = std::max(max_len, (int)str.size());
                }
            }
        }
        return max_len;
    }
};
相关推荐
zd2005721 分钟前
STREAMS指南:环境及宿主相关微生物组研究中的技术报告标准
人工智能·python·算法
qq_254617772 分钟前
Linux创建VLAN虚拟网卡的命令
linux·网络协议
TechNomad9 分钟前
排序算法:基数排序算法
算法·排序算法
wdfk_prog13 分钟前
[Linux]学习笔记系列 -- [fs][fs_parser]
linux·笔记·学习
努力学算法的蒟蒻14 分钟前
day43(12.24)——leetcode面试经典150
算法·leetcode·面试
XXYBMOOO17 分钟前
理解 C++ 中的字节序转换函数 `swapEndian`
开发语言·arm开发·c++
毕加锁25 分钟前
深度解析昇腾Catlass:C++模板元编程与高性能算子开发范式(1)
开发语言·c++
jianfeng_zhu28 分钟前
二叉树的一些基本运算
算法
元亓亓亓30 分钟前
LeetCode--279. 完全平方数--中等
算法·leetcode·动态规划
蓝影铁哥34 分钟前
浅谈国产数据库OceanBase
java·linux·数据库·oceanbase