leetcode 32. Longest Valid Parentheses
来源:互联网 发布:古诗软件下载 编辑:程序博客网 时间:2024/05/22 04:53
1.题目
Given a string containing just the characters '('
and ')'
, find the length of the longest valid (well-formed) parentheses substring.
For "(()"
, the longest valid parentheses substring is "()"
, which has length = 2.
Another example is ")()())"
, where the longest valid parentheses substring is "()()"
, which has length = 4.
给你一串括号,找到最长的有效匹配的括号的长度。
2.思路
1. 创建一个栈,栈顶存放的是上次匹配失败的括号的下标;
2. 初始化,首先将-1入栈;
3.遍历字符串,如果是左括号'(',将左括号的下标入栈;
4.如果是右括号')',如果栈中元素个数>1,则代表有匹配的左括号,弹出栈顶元素,更新最大值;否则,代表右括号之前没有左括号,将右括号的位置入栈。
class Solution {public: int longestValidParentheses(string str) { stack<int> s; s.push(-1); int ans = 0; for(int i = 0;i<str.size();i++){ if(str[i] == '('){ s.push(i); } else{ if(s.size() > 1){ s.pop(); ans = max(ans,i-s.top()); } else{ s.pop(); s.push(i); } } } return ans; }};
0 0
- LeetCode --- 32. Longest Valid Parentheses
- LeetCode 32.Longest Valid Parentheses
- [Leetcode] 32. Longest Valid Parentheses
- [LeetCode]32.Longest Valid Parentheses
- [leetcode]32.Longest Valid Parentheses
- leetcode 32. Longest Valid Parentheses
- leetcode 32. Longest Valid Parentheses
- LeetCode 32. Longest Valid Parentheses
- [leetcode] 32. Longest Valid Parentheses
- LeetCode 32. Longest Valid Parentheses
- LeetCode-32.Longest Valid Parentheses
- leetcode.32. Longest Valid Parentheses
- 【leetcode】32. Longest Valid Parentheses
- leetcode 32. Longest Valid Parentheses
- [LeetCode] 32. Longest Valid Parentheses
- leetcode 32. Longest Valid Parentheses
- leetcode 32.Longest Valid Parentheses
- leetcode 32. Longest Valid Parentheses
- 关于大型网站技术演进的思考(八)--存储的瓶颈终篇(8)
- 架构高性能网站秘笈(一)——了解衡量网站性能的指标
- SDOI2016 R1 day2 解题报告(bzoj4516,bzoj4517,bzoj4518)
- 【HDU 3127】WHUgirls(二维完全背包)
- 316. Remove Duplicate Letters
- leetcode 32. Longest Valid Parentheses
- 使用 XStream 实现 Java 对象与 XML 的相互转换
- 关于tableview的知识总结,cell左划出现删除、置顶按钮
- Tomcat7中javax.el.ELException异常信息的处理
- Android设置系统开机自动永不休眠
- 如何使用Xcode的Targets来管理开发和生产版本的构建
- eclipse中配置Tomcat并启动服务器发布项目
- 架构高性能网站秘笈(二)——动态内容缓存
- java 单利模式的几种实现方法