[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();
}
}