剑指22-从上往下打印二叉树

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。


  • 用到队列。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution:
# 返回从上到下每个节点值列表,例:[1,2,3]
def PrintFromTopToBottom(self, root):
# write code here
# 虽然题目中说是打印,其实仍然是要求返回列表
s = []
if root is None:
return s
myqueue = [root]
while len(myqueue) > 0:
node = myqueue.pop(0)
s.append(node.val)
if node.left:
myqueue.append(node.left)
if node.right:
myqueue.append(node.right)
return s