最长有效括号

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

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;
    }
}
相关推荐
Xの哲學20 分钟前
Linux 软中断深度剖析: 从设计思想到实战调试
linux·网络·算法·架构·边缘计算
暴风游侠24 分钟前
如何进行科学的分类
笔记·算法·分类
leaves falling1 小时前
冒泡排序(基础版+通用版)
数据结构·算法·排序算法
C雨后彩虹1 小时前
无向图染色
java·数据结构·算法·华为·面试
坚持就完事了1 小时前
扫描线算法
算法
鱼跃鹰飞1 小时前
Leetcode尊享面试100题:252. 会议室
算法·leetcode·面试
程序员-King.1 小时前
二分查找——算法总结与教学指南
数据结构·算法
Zevalin爱灰灰1 小时前
现代控制理论——第三章 线性控制系统的能控性和能观性
线性代数·算法·现代控制
kklovecode1 小时前
C语言之头文件,宏和条件编译
c语言·开发语言·算法
Xの哲學2 小时前
Linux自旋锁深度解析: 从设计思想到实战应用
linux·服务器·网络·数据结构·算法