54-二叉搜索树的第K大节点

题目:给定一棵二叉搜索树,请找出其中第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个节点就停止,目前没看明白,后期会优化。

猜你喜欢

转载自www.cnblogs.com/kingshine007/p/11534012.html