BST预订序遍历到顺序遍历

时间:2018-06-01 05:54:05

标签: python binary-search-tree tree-traversal

我一直在尝试实现一个树的顺序遍历,但是,我想用队列来做(我的代码试图在树中找到第k个最大的元素,我使用队列和堆栈来执行此操作)

到目前为止,我的代码是一个前序遍历。如何使这个顺序遍历?

def kthlargest(self, root, k):
        L = queue.Queue()
        L.put(root)
        stack = []
        answ = 0 
        while not L.empty():
            node = L.get()
            if node.left:
                L.put(node.left)
            if node.right:
                L.put(node.right)
            stack.append(node.val)
        for count in range(0,k):
            if stack:
                answ = stack.pop()
        return answ

0 个答案:

没有答案