Tree Traversal Target: 10s
Iterative inorder (sorted order for BST). Count down k, return when k reaches 0. O(H + k) time.
def kthSmallest(root, k):
stack = []
cur = root
while cur or stack:
while cur:
stack.append(cur)
cur = cur.left
cur = stack.pop()
k -= 1
if k == 0: return cur.val
cur = cur.right
Type it from memory. Go.