class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
for (char c : s.toCharArray()) {
if (stack.isEmpty()) { // 當前是空的,直接壓進去
stack.push(c);
continue;
}
char top = stack.peek();
if ((top == '(' && c == ')') || (top == '{' && c == '}') || (top == '[' && c == ']')) {
stack.pop(); //當前字符配對成功,彈出頂層的
} else {
stack.push(c); //當前字符配對失敗,壓入棧內
}
}
return stack.isEmpty();
}
}