最长有效括号

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

java 复制代码
class Solution {
    public int longestValidParentheses(String s) {
        Stack<Integer> st = new Stack<Integer>();
        int ans = 0;
        for(int i = 0 ,start = 0;i < s.length();i ++)
        {
            if( s.charAt(i) == '(') st.add(i);
            else
            {
                if(!st.isEmpty()) 
                {
                    st.pop();
                    if(st.isEmpty()) ans = Math.max(ans,i - start + 1);
                    else ans = Math.max(ans,i - st.peek());
                }
                else start = i + 1;
            }
        }
        return ans;
    }
}
相关推荐
海码00711 分钟前
【Hot 100】70. 爬楼梯
数据结构·c++·算法·leetcode·动态规划·hot100
Orz_Sponge_Bob18 分钟前
6月2日上午思维训练题解
算法
YGGP24 分钟前
动态规划之网格图模型(二)
算法·动态规划
Matlab仿真实验室3 小时前
基于Matlab实现LDA算法
开发语言·算法·matlab
@蓝莓果粒茶3 小时前
LeetCode第244题_最短单词距离II
c++·笔记·学习·算法·leetcode·职场和发展·c#
宋一诺333 小时前
机器学习——随机森林算法
算法·随机森林·机器学习
无聊的小坏坏4 小时前
二分查找的边界艺术:LeetCode 34 题深度解析
算法·leetcode
CHNLee玉米4 小时前
题目解析 1.找单独的数 | 豆包MarsCode AI刷题
算法
緈福的街口4 小时前
【leetcode】20. 有效的括号
linux·算法·leetcode