题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路:用一个临时数组存储需要打印的节点,如打印8时,将6和10存入临时数组
class Solution:
# 返回从上到下每个节点值列表,例:[1,2,3]
def PrintFromTopToBottom(self, root):
# 设置答案集合ans 临时数组temp,使用temp存储需要打印的节点
if not root:
return []
ans = []
temp = []
temp.append(root)
while temp:
currentRoot = temp.pop(0) #获当前取需要打印的节点
ans.append(currentRoot.val)
if currentRoot.left: #将左右子节点存入temp等待打印
temp.append(currentRoot.left)
if currentRoot.right:
temp.append(currentRoot.right)
return ans