LeetCode Valid Parentheses

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

 

 1 public class Solution {
 2     public boolean isValid(String s) {
 3         if (s.equals("")) {
 4             return true;
 5         }
 6         
 7         Stack<Character> stack=new Stack<>();
 8         stack.push('s');
 9         for (char c : s.toCharArray()) {
10             if (c=='(' || c=='[' || c=='{') {
11                 stack.push(c);
12             }else {
13                 if (c==')' && stack.pop()!='(') {
14                     return false;
15                 }
16                 if (c==']' && stack.pop()!='[') {
17                     return false;
18                 }
19                 if (c=='}' && stack.pop()!='{') {
20                     return false;
21                 }
22             }
23         }
24         if (stack.pop()!='s') {
25             return false;
26         }
27         return true;
28     }
29 }

 

posted @ 2014-10-25 13:04  birdhack  阅读(94)  评论(0编辑  收藏  举报