102. Binary Tree Level Order Traversal
Medium
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example:
Given binary tree [3,9,20,null,null,15,7]
,
3
/ \
9 20
/ \
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]
笔记:
将树的节点按层放到list里面
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
if root is None:
return None
rlt = [[root.val]]
nodes = [root]
while nodes:
temp_nodes = []
temp_val = []
for node in nodes:
if node.left:
temp_nodes.append(node.left)
temp_val.append(node.left.val)
if node.right:
temp_nodes.append(node.right)
temp_val.append(node.right.val)
if temp_val:
rlt.append(temp_val)
else:
return rlt
nodes = temp_nodes