AlgoMaster Logo

Valid Parentheses

s=([{}])
1public boolean isValid(String s) {
2    Stack<Character> stack = new Stack<>();
3    Map<Character, Character> matchMap = new HashMap<>();
4    matchMap.put(')', '(');
5    matchMap.put('}', '{');
6    matchMap.put(']', '[');
7
8    for (int i = 0; i < s.length(); i++) {
9        char c = s.charAt(i);
10
11        if (matchMap.containsKey(c)) {
12            if (stack.isEmpty()) {
13                return false;
14            }
15
16            if (stack.peek() != matchMap.get(c)) {
17                return false;
18            }
19
20            stack.pop();
21        } else {
22            stack.push(c);
23        }
24    }
25
26    return stack.isEmpty();
27}
0 / 17
([{}])stack