从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
思路:
设两个列表,一个列表存放当前层节点,此节点的左右子树入子层列表。
给出一个原层,一个子层,每次用子层覆盖原层。遍历完当前层,存入结果列表中。
def Print(self, pRoot):
# write code here
outlist=[]
if not pRoot:
return outlist
quene=[pRoot]
while quene:
res=[]
subquene=[]
for item in quene:
res.append(item.val)
if item.left:
subquene.append(item.left)
if item.right:
subquene.append(item.right)
outlist.append(res)
quene=subquene
return outlist