ShanXiangJC
12/8/2017 - 3:41 AM

[20. Valid Parentheses] #Leetcode #stack

[20. Valid Parentheses] #Leetcode #stack

class Solution {
    public boolean isValid(String s) {
      	// corner case
        if(s.length() % 2 != 0)
            return false;
      
      	// initialize a stack
        Stack<Character> stack = new Stack<>();
      	// 存一半,遇到另一半然后消化
        for(int i = 0;i<s.length();i++){
            if(s.charAt(i) == '{' || s.charAt(i) == '('||s.charAt(i) == '[')
                stack.push(s.charAt(i));
            if(s.charAt(i) == '}' && !stack.empty() && stack.peek() == '{')
                stack.pop();
            if(s.charAt(i) == ')' && !stack.empty() && stack.peek() == '(')
                stack.pop();
            if(s.charAt(i) == ']' && !stack.empty() && stack.peek() == '[')
                stack.pop();
        }
        return stack.empty(); 
    }
}