Skip to main content
({[]})
easyBlind 75

Valid Parentheses

This is a stack/invariant problem: once your stack represents the right thing, the rest is routine. It's a great warm-up that builds stack invariants without a ton of moving parts. Keep the stack invariant explicit; if it breaks, everything downstream breaks too.

StackString

Learn this pattern

Monotonic Stacks

A monotonic stack maintains elements in sorted order, popping when a new element breaks the invariant. It solves "next greater element," "daily temperatures," and histogram problems in O(n) instead of O(n²).

Coco
Fin

Meet your coaches

Talk through the problem while you code. Signed-in reps become prep memory for the next session.

Chat with Fin or Coco right now on mobile.

Start talking through the problem here. Switch to desktop when you're ready to code and run tests.

Start coaching session
1Valid Parentheseseasy
2Part 2
3Part 3

Start Part 1 to unlock your next challenge

Based onLeetCode

Desktop required

Sorry - mobile cannot run the editor and tests yet. Use the next step below or email yourself a link to continue on desktop.

Read the pattern guide

Monotonic Stacks gives you a useful next rep while you are still on your phone.