LeetCode Longest Valid Parentheses
来源:互联网 发布:解析软件 编辑:程序博客网 时间:2024/06/06 09:23
题目:
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,而不是4。所以,在求相应的长度的时候,需要记录"("出现的位置,然后计算匹配的长度,如果匹配的长度大于之前记录的长度,那么久更新,否则就不变。
public class Solution { public static int longestValidParentheses(String s) { if (s == null || s.length() == 0) return 0; int len = s.length(), maxLen = 0; Stack<Integer> stack = new Stack<>(); stack.push(-1); for (int i = 0; i < len; i++) { if (s.charAt(i) == '(') stack.push(i); else { if (stack.size() > 1 && s.charAt(stack.peek()) == '(') { stack.pop(); System.out.println(stack.peek()); maxLen = Integer.max(i - stack.peek(), maxLen); System.out.println(maxLen); } else stack.push(i); } } return maxLen; }}
0 0
- LeetCode: Longest Valid Parentheses
- LeetCode Longest Valid Parentheses
- LeetCode: Longest Valid Parentheses
- [Leetcode] Longest Valid Parentheses
- [leetcode]longest Valid Parentheses(!!)
- [Leetcode] Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- 【leetcode】Longest Valid Parentheses
- [LeetCode]Longest Valid Parentheses
- [leetcode] Longest Valid Parentheses
- LeetCode-Longest Valid Parentheses
- [LeetCode] Longest Valid Parentheses
- LeetCode:Longest Valid Parentheses
- Leetcode: Longest Valid Parentheses
- Leetcode:Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- leetcode Longest Valid Parentheses
- LeetCode Longest Valid Parentheses
- 织梦tag标签伪静态
- 关于UILabel和UIButton添加下划线
- 归档和反归档
- java spring(1) HelloWorld
- 解决无法修改注册表的情况
- LeetCode Longest Valid Parentheses
- 预处理优化例题
- showModalDialog打开的页面中调用父窗口的方法
- Animation动画详解(四)——ValueAnimator基本使用
- 提高录音音量
- shell
- 大数据量下高并发同步的讲解
- 【复习笔记】评估假设
- linux进程间通信的几种机制的比较及适用场合