此题与jz032II.从上到下打印二叉树II相同。这个算法的时间复杂度是O(N),空间复杂度是O(N)。
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
if not root:
return []
queue, res = [root], []
while queue:
tmp = []
for _ in range(len(queue)):
node = queue.pop(0)
tmp.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
res.append(tmp)
return res
PREVIOUSjz033.二叉搜索树的后序遍历序列