遍歷字符串的每個字符,是左括號就入棧,是右括號就與棧頂元素進行匹配
import java.util.Stack;
class Solution {
public boolean isValid(String s) {
if (s.length() == 0) return true;
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if ((c == ')' || c == ']' || c == '}') && stack.isEmpty()) {
return false;
}
if (c == ')' && stack.pop() != '(') {
return false;
}
if (c == ']' && stack.pop() != '[') {
return false;
}
if (c == '}' && stack.pop() != '{') {
return false;
}
if (c == '(' || c == '[' || c == '{') {
stack.push(c);
}
}
return stack.isEmpty();
}
}