Find the kth smallest element in a BST.
O(H+k)
O(H)
def kthSmallest(root, k): stack = [] curr = root while stack or curr: while curr: stack.append(curr) curr = curr.left curr = stack.pop() k -= 1 if k == 0: return curr.val curr = curr.right