Longest Valid Parentheses
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.
package leetcode;
public class leet32 {
public static void main(String[] args) {
leet32 leet = new leet32();
int result = leet.longestVaildParentheses("((())");
System.out.println(result);
}
public int longestVaildParentheses(String s){
StringBuilder str = new StringBuilder();
for(int i = 0;i < s.length();i++){
if(s.charAt(i) == '('){
str.append(s.charAt(i));
}else{
if(str.length() == 0){
str.append(s.charAt(i));
}
else if(str.substring(str.length()-1).equals("(")){
String tmp = str.substring(0, str.length()-1);
str = new StringBuilder().append(tmp);
}else{
str.append(s.charAt(i));
}
}
}
return s.length()-str.length();
}
}
本文探讨了如何找出仅包含'('和')'的字符串中最长的有效括号子串长度。通过具体示例说明了解决方案,并提供了一个Java实现示例。

874

被折叠的 条评论
为什么被折叠?



