https://medium.com/@AlexanderObregon/solving-the-add-two-numbers-problem-on-leetcode-c-solutions-walkthrough-ec9fa5392d8b