The algorithm is straight-forward: Because the list represent reversely, we just need to add two elements then assign the residual to next element.
However, I miss some edge case, which do not handle the residual part at the end, think about 5 + 5, there is the last 1 which we need to care about.