Design linked list
A dummy head node sits in front of index 0, so every index has a node before it — even 0. Two small
helpers, getAtIndex and getSize, do all the walking, and each public method is a few lines on top of them.
The linked list starts with a dummy head node (-1) in front of index 0. The call stack shows the helper methods that do the walking.