Files
obsidian/АиСД/Задачи/LeetCode/Valid Parentheses.md
T
roma-dxunvrs 0e6e583e6d
deploy / Pull and Restart (push) Successful in 17s
refactor: wiki links -> md links
2026-09-22 08:52:23 +03:00

681 B

Leetcode #20 | #Easy | Стек | Хэш-таблицы

Идея

Стек

Big-O

  • Время O(N)
  • Память O(N)

Код

class Solution {
    public boolean isValid(String s) {
        Map<Character, Character> map = Map.of(')', '(', ']', '[', '}', '{');
        Deque<Character> stack = new ArrayDeque<>();
        for (char c : s.toCharArray()) {
            if (map.containsKey(c)) {
                if (stack.isEmpty() || stack.pop() != map.get(c)) return false;
            } else stack.push(c);
        }
        return stack.isEmpty();
    }
}