Mental Model
Recursion solves a problem by breaking it into smaller versions of itself until it reaches a simple case.
Analogy: Like peeling an onion layer by layer until you reach the core, recursion processes arrays or strings one element at a time until nothing is left.
Array: [1, 2, 3, 4, 5] String: "hello" Process first element -> rest -> base case [1, 2, 3, 4, 5] ↑ "hello" ↑