Я реализовал обход дерева порядка уровней, однако он не распечатывает последние два узла. Я уверен, что это правильный подход, и я хочу, чтобы этот подход работал! Может кто-нибудь сказать мне, что я делаю неправильно в моем коде?
# 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:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
q = queue.Queue()
q.put(root)
self.level(root, q)
def level(self, node, q):
if node == None:
return
q.put(node.left)
q.put(node.right)
q = self.printyo(q)
self.level(node.left, q)
self.level(node.right, q)
def printyo(self, q):
if q.empty():
return
else:
node = q.get()
if node != None:
print(node.val)
return q
Тем не менее,
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
Above code only prints out
3
9
20