从上往下打印二叉树
从上往下打印二叉树
http://www.nowcoder.com/questionTerminal/7fe2212963db4790b57431d9ed259701
22. 从上往下打印二叉树
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
方法:
应该是最简单的方法,减少了变量,同意实现了队列。
class Solution:
# 返回从上到下每个节点值列表,例:[1,2,3]
def PrintFromTopToBottom(self, root):
# write code here
layer_list = [root]
if root is None:
return []
for node in layer_list: # 遍历每一层,元素加到列表末尾
if node.left:
layer_list.append(node.left)
if node.right:
layer_list.append(node.right)
return [i.val for i in layer_list] 不断遍历layer_list = [root]这个列表,并且不断在末尾添加下一层需要遍历的元素。