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