Skip to content
StackEasyLeetCode #20

Valid Parentheses ()[]{}

Validates balanced brackets '()', '{}', '[]' using a stack to guarantee every closing tag matches the nearest open tag.

Time O(n) Space O(n)
Open in 3D Studio

Live loop — open the studio to scrub, add your own array, or race it in Battle Arena.

Asked in interviews at

MetaGoogleAmazonBloomberg

Reference implementation (Python)

def is_valid(s: str) -> bool:
    stack = []
    mapping = {')': '(', '}': '{', ']': '['}
    for char in s:
        if char in '({[':
            stack.append(char)
        elif char in ')}]':
            if not stack or stack[-1] != mapping[char]:
                return False
            stack.pop()
    return len(stack) == 0

Embed this visualization

Drop a live, looping Valid Parentheses ()[]{} canvas into a blog post or course page.

<iframe src="/embed/valid-parentheses" width="100%" height="380" style="border:1px solid #e6e8ec;border-radius:14px" loading="lazy" title="3D algorithm visualization by CodeWithMunnaX"></iframe>

Frequently asked

What is the time and space complexity of Valid Parentheses ()[]{}?

Valid Parentheses ()[]{} runs in O(n) time and O(n) auxiliary space.

Is the Valid Parentheses ()[]{} visualizer free?

The core 3D visualizer, Web Audio chimes and step intuition are free. A one-time ₹49 Pro Pass unlocks advanced algorithms, large custom arrays, Battle Arena and reel export.

Which companies ask Valid Parentheses ()[]{} in interviews?

Valid Parentheses ()[]{} shows up in interviews at Meta, Google, Amazon, Bloomberg.

How does the 3D visualization of Valid Parentheses ()[]{} work?

Each array value becomes a 3D pillar whose height maps to its value. Comparisons glow amber, swaps flash red, and settled elements lock green while a floating pointer badge tracks the active index — synchronized line-by-line with the Python code.

More Stack