https://www.codinginterview.net/2023/06/diameter-of-binary-tree.html