就很简单的想到打印二叉树,然后然后需要两个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