Mental Model
We want to split a string into the fewest pieces so that each piece reads the same forwards and backwards.
Analogy: Imagine cutting a ribbon into the smallest number of palindromic segments, like cutting a patterned ribbon where each piece must have a symmetrical design.
s = "a b a c" Indices: 0 1 2 3 We want cuts like: a | b | a | c or a b a | c Each segment is a palindrome.