这道题是在BST上找到第k个最小的数,BST本身便是一个从左到右依次排序的树,问题的难点在于你如何排序,排序好了之后,第k个就一目了然了。代码如下:
a = []
def sort(root):
if root == None:
return 0
if root.left != None:
sort(root.left)
a.append(root.val)
if root.right != None:
sort(root.right)
sort(root)
return a[k - 1]