https://medium.com/@tejaskhartude/solving-neetcode-150-problems-todays-problem-diameter-of-binary-tree-a27295e24283