Mental Model
Recursion solves a problem by breaking it into smaller versions of itself until it reaches the simplest 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]
indexes: 0 1 2 3 4
string: "hello"
indexes: h e l l o
0 1 2 3 4
Recursion starts at index 0 and moves forward ->