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