task12
给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。
class Solution:
def mid_order(self, root):
if not root: return
yield from self.mid_order(root.left)
yield root.val
yield from self.mid_order(root.right)
def kthSmallest(self, root: TreeNode, k: int) -> int:
gen = self.mid_order(root)
for _ in range(k - 1):
next(gen)
return next(gen)