从上往下打印二叉树
从上往下打印二叉树
http://www.nowcoder.com/questionTerminal/7fe2212963db4790b57431d9ed259701
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
# -*- 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 result = [] #如果树为空直接返回结果 if root == None: return result #定义队列存储待遍历节点 queue = [root] while queue: root = queue[0] result.append(queue[0].val) queue = queue[1:] if root.left: queue.append(root.left) if root.right: queue.append(root.right) return result