https://medium.com/@zeesek/100-days-of-leetcode-problems-in-typescript-solving-the-maximum-depth-of-binary-tree-problem-8ddcec5880f3