dfs 队列 二叉树层序遍历(牛客网题)
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
#
# @param root TreeNode类
# @return int整型二维数组
#
from collections import deque
class Solution:
def levelOrder(self , root ):
# write code here
if not root:
return []
queue = deque([root])
res = []
count = 1
tmplist = []
while queue:
count -= 1
poped = queue.popleft() # 弹出的节点
tmplist.append(poped.val) # 节点值
if poped.left:
queue.append(poped.left)
if poped.right:
queue.append(poped.right)
if count == 0:
res.append(tmplist)
tmplist = [] # 置空
count = len(queue)
return res