https://medium.com/programmers-career/leetcode-230-golang-kth-smallest-element-in-a-bst-medium-depth-first-search-f0b765f3fb4a