Уровень порядка обхода кода BST - PullRequest
0 голосов
/ 31 мая 2018

Мне было интересно, может ли кто-нибудь пересмотреть мой код для обхода порядка уровней в BST.Я полагаю, что у меня есть [[3],[9,20],[15,7]], но вместо этого я получаю [[3],[9],[20],[15],[7]] Я знаю, что мне нужен внешний цикл while, но не знаю, как его построить.

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

import queue
class Solution(object):
    def levelOrder(self, root):
        L = queue.Queue()
        local = []
        L.put(root)
        while not L.empty():
            node = L.get()
            local.append([node.val])
            if(node.left):
                L.put(node.left)
            if(node.right):
                L.put(node.right)
        return local
...