从上往下打印二叉树
从上往下打印二叉树
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]这个列表,并且不断在末尾添加下一层需要遍历的元素。