Mental Model
We try to split a string into parts where each part reads the same forwards and backwards, by exploring all possible splits step-by-step.
Analogy: Imagine cutting a ribbon into pieces so that each piece is a perfect mirror image of itself, and you try every way to cut it until you find all such sets of pieces.
s = "a b a b c" Indices: 0 1 2 3 4 Partitions: [a] [b] [a] [b] [c] Each bracket is a substring to check if palindrome
