题目:
思路+代码:
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
# 思路:层序遍历二叉树分开保存每一层的节点值,初始化res:输出保存列表;nodel_list是保存节点列表,列表内容更新来自于每一层
# layer_nodel列表;layer_val 保存每一层值;
if not root:
return []
res = []
node_list = []
node_list.append(root)
while node_list:
layer_val = []
layer_node = []
while node_list:
node = node_list.pop(0)
layer_val.append(node.val)
if node.left: layer_node.append(node.left)
if node.right: layer_node.append(node.right)
node_list.extend(layer_node)
res.append(layer_val)
return res