Free 30-minute trial

500+ reviews from engineers

Easy · Stack · spoken drill

Free AI LeetCode Communication Coach — Valid Parentheses

Stack story: push openers, pop on matching closer, empty stack at the end.

The problem

Given a string of '(', ')', '{', '}', '[' and ']', determine if brackets close in the correct order.

Example: s = "{[]}" → true

Push, pop, empty check.

pairs = {")": "(", "]": "[", "}": "{"}
stack = []
for ch in s:
    if ch in "([{":
        stack.append(ch)
    elif not stack or stack.pop() != pairs[ch]:
        return False
return not stack

How to explain it

  1. 1. Restate

    Say the problem in your own words.

    One or two sentences. Show you understood the input, the output, and the goal — not that you memorised the prompt.

  2. 2. Approach

    Name the method before you code.

    Brute force first if you need it, then the structure you will use: hash map, two pointers, stack, binary search.

  3. 3. Example

    Walk one concrete input.

    Pick small numbers. Say what you store, what you compare, and what you return. Interviewers follow an example more easily than abstract talk.

  4. 4. Time and space

    One sentence each.

    After the example, before you claim you are done. “Time is O(n) because we scan once. Space is O(n) for the map.”

  5. 5. Edge cases

    Name at least one unusual input.

    Empty input, duplicates, already sorted, overflow. Invite a follow-up: “I would also check …”

  • “I will use a stack.”
  • “I push openers and pop when a closer matches.”
  • “At the end the stack must be empty.”

Practise out loud

3 free scored runs left this hour.

Problem · Easy

Given a string of '(', ')', '{', '}', '[' and ']', determine if brackets close in the correct order.

Example: s = "{[]}" → true

  1. 1Restate — Say the problem in your own words.
  2. 2Approach — Name the method before you code.
  3. 3Example — Walk one concrete input.
  4. 4Time and space — One sentence each.
  5. 5Edge cases — Name at least one unusual input.

Hit record. Short countdown, then 60–90 seconds. We score the five-step script — never pronunciation.

Recording needs Chrome or Edge. You can still type below.

Model spoken script (~75s)

  1. 1. Restate

    I have a string of brackets and I need every closer to match the right opener in order.

  2. 2. Approach

    I will use a stack. I push opening brackets. When I see a closer I pop and check it matches. If the stack is empty when I pop, it is invalid.

  3. 3. Example

    On '{[]}' I push curly, push square, the square closer matches, the curly closer matches, and the stack is empty — valid.

  4. 4. Time and space

    Time is O(n). Space is O(n) in the worst case of all openers.

  5. 5. Edge cases

    Empty string is valid. A leftover opener at the end is invalid.

Common mistakes when explaining Valid Parentheses

  • Forgetting the leftover-opener case.
  • Not saying what happens when you pop an empty stack.

Other problems

Browse full catalogue

FAQ

Questions

Stack, push openers, pop on match, empty at end. Walk '{[]}'.

More questions? Email us at contact@mocklyenglish.com.

Course: How to explain a LeetCode solution · Think out loud · Explain code out loud

Quick answer

Free AI LeetCode Communication Coach: restate, name the approach, walk an example, state time and space, then name an edge case. Record 60–90 seconds and get a scorecard on that structure — not on your accent.