Return the k-th smallest value in a BST.
1def kthSmallest(root: Optional[TreeNode], k: int) -> int:2 stack = []3 cur = root4 while cur or stack:5 while cur:6 stack.append(cur)7 cur = cur.left8 cur = stack.pop()9 k -= 110 if k == 0:11 return cur.val12 cur = cur.right13 return -1