https://medium.com/programmers-career/leetcode-652-golang-find-duplicate-subtrees-medium-tree-traversal-3c296ed2d5ef