题目:给定一棵二叉搜索树,请找出其中第K大的节点。
def inorder(head,res):
p = head
if p:
inorder(p.left,res)
res.append(p.data)
inorder(p.right,res)
def tree_k(head,k):
res = []
inorder(head, res)
return res[k-1]
注:采用中序遍历,遍历完成后取出第K个。官方给出的方案是直接取到第K个节点就停止,目前没看明白,后期会优化。