题目描述:
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如:
给定二叉树: [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回:
[3,9,20,15,7]
提示:节点总数 <= 1000
使用二叉树的层序遍历和队列先进先出的特点解决即可。
class Solution:
def levelOrder(self, root: TreeNode) -> List[int]:
if not root: return []
r = []
q = [root]
while q:
root = q[0]
r.append(root.val)
if root.left:
q.append(root.left)
if root.right:
q.append(root.right)
q = q[1:]
return r