题目描述:
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
示例:
题解:此题是典型的BFS,故直接用模板即可。队列+while queue
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def levelOrder(self, root: TreeNode) -> List[int]:
#BFS
from collections import deque
if not root:
return []
queue = deque()
queue.append(root)
result = []
while queue:
pre = queue.popleft()
result.append(pre.val)
if pre.left:
queue.append(pre.left)
if pre.right:
queue.append(pre.right)
return result