Find Kth Largest Value in BST

Tiffany ·2024년 3월 8일
0

AlgoExpert

목록 보기
8/20

내가 생각한 방법은 인오더 traversal 을 해서 정렬시키면 크기가 작은것부터 큰것으로 배열될것이고, k번째 큰 원소값을 리턴하는것이므로 큰것부터 작은것으로 재배열시켜 k-1번째로 리턴하면되는것이다. 이방법외에는 다른 방법이 생각 나지 않았다.

# This is an input class. Do not edit.
class BST:
    def __init__(self, value, left=None, right=None):
        self.value = value
        self.left = left
        self.right = right

def inOrderTraversalList(tree, result): 
    if not tree:
        return result
    inOrderTraversalList(tree.left, result) 
    result.append(tree.value) 
    inOrderTraversalList(tree.right, result) 
    print(result)
    return result 
    
def findKthLargestValueInBst(tree, k):
    # Write your code here.
    finalResult = inOrderTraversalList(tree, []) 
    finalResult.reverse() 
    return finalResult[k-1] 
profile
Love what you do and don't quit.

0개의 댓글