就很简单的想到打印二叉树,然后然后需要两个list, res和queue,一个用来迭代,一个用来保存结果,注意,queue保存的是节点

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回从上到下每个节点值列表,例:[1,2,3]
    def PrintFromTopToBottom(self, root):
        # write code here
        if root == None:
            return []
        queue, res = [root], []
        while queue:
            node = queue.pop(0)
            res.append(node.val) #每次只装一层的值而不装下一层的值,否则午发实现
            if node.left:
                queue.append(node.left)#每次把下一层的放到queue里便于循环遍历
            if node.right:
                queue.append(node.right)
        return res