Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public int longestValidParentheses(String s) {
- if(s == null || s.length() == 0 )
- return 0;
- Stack<Integer> stack = new Stack<Integer>();
- int longest = 0;
- int last = -1; // -1 case
- for(int i = 0; i < s.length(); i++){
- if(s.charAt(i) == '('){
- stack.add(i);
- }else{
- if(stack.isEmpty()){
- last = i;
- }else if(!stack.isEmpty()){
- stack.pop();
- if(stack.isEmpty()) longest = Math.max(i-last, longest);
- else longest = Math.max(i-stack.peek(), longest);
- }
- }
- }
- return longest;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement