题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。如果没有节点,就不打印。输出一个list
思路
这个需要用一个先进先出的队列,用递归的话,是深度优先遍历,不是广度优先遍历
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def PrintFromTopToBottom(self, root):
if not root:
return []
queen = [root]
ans = []
while len(queen)>0:
root = queen[0]
ans.append(root.val)
if root.left:
queen.append(root.left)
if root.right:
queen.append(root.right)
del queen[0]
return ans