Free 30-minute trial

500+ reviews from engineers

Easy · Linked list · spoken drill

Free AI LeetCode Communication Coach — Reverse Linked List

Iteratively reverse pointers with prev/curr/next — or recurse and narrate the unwind.

The problem

Given the head of a singly linked list, reverse the list and return the new head.

Example: 1 → 2 → 3 → 4 → 5 → 5 → 4 → 3 → 2 → 1

Say you save next before rewiring.

prev = None
curr = head
while curr:
    nxt = curr.next
    curr.next = prev
    prev = curr
    curr = nxt
return prev

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 keep prev, curr, and next.”
  • “I reverse the link before I move forward.”

Practise out loud

3 free scored runs left this hour.

Problem · Easy

Given the head of a singly linked list, reverse the list and return the new head.

Example: 1 → 2 → 3 → 4 → 5 → 5 → 4 → 3 → 2 → 1

  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 need to reverse every next pointer and return the new head.

  2. 2. Approach

    I will iterate with three pointers: previous, current, and next. I reverse the link, then advance.

  3. 3. Example

    On 1→2→3, I reverse 1 to null, then 2 to 1, then 3 to 2. The new head is 3.

  4. 4. Time and space

    Time is O(n). Space is O(1).

  5. 5. Edge cases

    I would check null head and a single-node list.

Common mistakes when explaining Reverse Linked List

  • Losing the next pointer before rewiring.
  • Forgetting to return the new head (old tail).

Other problems

Browse full catalogue

FAQ

Questions

Three pointers, rewire, O(1) space. Return prev.

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

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