1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution {
private static final Map<Character, Character> pairs = Map.of('(', ')', '{', '}', '[', ']');
public boolean isValid(String s) {
Deque<Character> stack = new ArrayDeque<>();
for (char c : s.toCharArray()) {
if (pairs.containsKey(c)) { stack.push(pairs.get(c)); } else if (stack.isEmpty() || stack.pop() != c){ return false; } }
return stack.isEmpty(); } }
|