20. 有效的括号
2019-12-29 本文已影响0人
Andysys
private Map<Character, Character> mappings;
private Stack<Character> stack;
{
mappings = new HashMap<>();
mappings.put(')', '(');
mappings.put('}', '{');
mappings.put(']', '[');
stack = new Stack<>();
}
public boolean isValid(String s) {
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (mappings.containsKey(c)) {
char top = stack.empty() ? '#' : stack.pop();
if (top != mappings.get(c)) {
return false;
}
} else {
stack.push(c);
}
}
return stack.empty();
}