An accumulator allows you to do bottom-up recursion instead of top-down. You build the answer as you go along, (you pass the first part of the solution to your recursive call that will build on it, instead of relying on the recursive call you return you the finished product).
– C.B.Aug 15 '14 at 17:20