题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
思路
层次遍历;利用两个list分别存储当前层节点的值、以及当前层中树节点的左右子节点。
代码
class Solution:
# 返回二维列表[[1,2],[4,5]]
def Print(self, pRoot):
# write code here
if not pRoot:
return []
q = [pRoot]
res = []
while q:
curLevel = []
nextLevel = []
for node in q:
curLevel.append(node.val)
if node.left:
nextLevel.append(node.left)
if node.right:
nextLevel.append(node.right)
q = nextLevel
res.append(curLevel)
return res