102. 二叉树的层次遍历
题目描述
给定一个二叉树,返回其按层次遍历的节点值。 (即zhu'ceng'de,从左到右访问)。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3 / \ 9 20 / \ 15 7 返回其层次遍历结果为:
[ [3], [9,20], [15,7] ]
class Solution:
def levelOrder(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
if not root:
return []
values,nodes_level=[[root.val]],[root]
while True:
if not nodes_level:
return [value_level for value_level in values if value_level]
nodes_level=[kid for node in nodes_level for kid in (node.left,node.right) if kid]
values.append([node.val for node in nodes_level])