Advertisement
Guest User

Untitled

a guest
Jan 31st, 2015
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. public int longestValidParentheses(String s) {
  2. if(s == null || s.length() == 0 )
  3. return 0;
  4. Stack<Integer> stack = new Stack<Integer>();
  5. int longest = 0;
  6. int last = -1; // -1 case
  7. for(int i = 0; i < s.length(); i++){
  8. if(s.charAt(i) == '('){
  9. stack.add(i);
  10. }else{
  11. if(stack.isEmpty()){
  12. last = i;
  13. }else if(!stack.isEmpty()){
  14. stack.pop();
  15. if(stack.isEmpty()) longest = Math.max(i-last, longest);
  16. else longest = Math.max(i-stack.peek(), longest);
  17. }
  18. }
  19. }
  20. return longest;
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement