Java for LeetCode 032 Longest Valid Parentheses
2015-05-07 19:46
429 查看
Given a string containing just the characters
For
Another example is
解题思路:
本题方法多多,是Java for LeetCode 020 Valid Parentheses题目的延续,因此,我们继续用栈的思路解决这个问题,其中需要一个index来维护最后一个')'出现的位置。JAVA代码如下:
'('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.
解题思路:
本题方法多多,是Java for LeetCode 020 Valid Parentheses题目的延续,因此,我们继续用栈的思路解决这个问题,其中需要一个index来维护最后一个')'出现的位置。JAVA代码如下:
static public int longestValidParentheses(String s) { int maxLength = 0,index=-1; Stack<Integer> stack = new Stack<Integer>(); for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '(') stack.push(i); else { if(stack.empty()) index=i; else{ stack.pop(); if(stack.isEmpty()) maxLength = Math.max(maxLength, i - index); else maxLength=Math.max(maxLength, i - stack.peek()); } } } return maxLength; }
相关文章推荐
- 【LeetCode-面试算法经典-Java实现】【032-Longest Valid Parentheses(最长有效括号)】
- 【LeetCode-面试算法经典-Java实现】【032-Longest Valid Parentheses(最长有效括号)】
- Longest Valid Parentheses leetcode java
- Java [leetcode 32]Longest Valid Parentheses
- 2017-09-21 LeetCode_032 Longest Valid Parentheses
- LeetCode 32 Longest Valid Parentheses (C,C++,Java,Python)
- [LeetCode]题解(python):032-Longest Valid Parentheses
- [Java] LeetCode32 Longest Valid Parentheses
- LeetCode032 Longest Valid Parentheses
- leetcode 032 Longest Valid Parentheses
- LeetCode 032 Longest Valid Parentheses
- [LeetCode][Java] Longest Valid Parentheses
- [leetcode-32]Longest Valid Parentheses(java)
- leetcode_c++:Longest Valid Parentheses(032)
- leetcode:Longest Valid Parentheses 【Java】
- (Java)LeetCode-32. Longest Valid Parentheses
- leetcode解题方案--032--Longest Valid Parentheses
- LeetCode 032 Longest Valid Parentheses
- leetcode 032 —— Longest Valid Parentheses
- [LeetCode]032-Longest Valid Parentheses