Check for balanced brackets in a string using a stack

Backend Live Coding November 13, 2026 python

Stack, O(n).

python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# ======================================================================
# Q: Check whether the brackets in a string are balanced.
#
# Stack, O(n).
# ======================================================================

def balanced(s: str) -> bool:
    pairs = {')': '(', ']': '[', '}': '{'}
    stack = []
    for ch in s:
        if ch in '([{':
            stack.append(ch)
        elif ch in pairs:
            if not stack or stack.pop() != pairs[ch]:
                return False
    return not stack