Add Two Numbers

medium

Add two numbers represented as linked lists with digits in reverse order

Add Two Numbers

Key Insight

Process digit by digit with carry, like grade-school addition on linked lists

Step 1Setup
342 + 465 = ?carry = 0
p1
2
4
3
null
List 2
p2
5
6
4
null

Two numbers in reverse digit order: 342 as [2,4,3] and 465 as [5,6,4].

1 / 6
Practice the Code

Step-by-Step Walkthrough: Add Two Numbers

Process digit by digit with carry, like grade-school addition on linked lists

  1. Setup

    Two numbers in reverse digit order: 342 as [2,4,3] and 465 as [5,6,4].

  2. Digit 1: 2 + 5 = 7

    2 + 5 + carry(0) = 7. No carry. Create result node 7.

  3. Digit 2: 4 + 6 = 10

    4 + 6 + carry(0) = 10. Write 0, carry 1.

  4. Digit 3: 3 + 4 + 1 = 8

    3 + 4 + carry(1) = 8. No carry. Create result node 8.

  5. All Digits Processed

    Both lists exhausted, no remaining carry.

  6. Result

    342 + 465 = 807, stored as [7, 0, 8] in reverse order.