AlgoDesign

K largest elements bst

1class Solution:
2    def kLargestElementsBST(self, root, k):
3        self.res = []
4        # reverse inorder traversal
5        def helper(node):
6            if len(self.res) < k:
7                if node.right: helper(node.right)
8                if len(self.res) < k: self.res.append(node.val)
9                if node.left: helper(node.left)
10        
11        helper(root)
12        return self.res