从上到下按层打印二叉树,同一层节点从左至右输出。每一层输出一行。
class TreeNode:
def __init__(self,x):
self.val=x
self.left=None
self.right=None
class Solution:
def Print(self,pRoot):
if pRoot==None:
return []
queue1 = [pRoot]
queue2 = []
ret=[]
while queue1 or queue2:
if queue1:
tmpret=[]
while queue1:
tmpNpde = queue1[0]
tmpret.append(tmpNpde.val)
del queue1[0]
if tmpNpde.left:
queue2.append(tmpNpde.left)
if tmpNpde.right:
queue2.append(tmpNpde.right)
ret.append(tmpret)
if queue2:
tmpret=[]
while queue2:
tmpNpde = queue2[0]
tmpret.append(tmpNpde.val)
del queue2[0]
if tmpNpde.left:
queue1.append(tmpNpde.left)
if tmpNpde.right:
queue1.append(tmpNpde.right)
ret.append(tmpret)
return ret