题目内容
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
题目思路
在这道题目中,我们考虑使用层次遍历。既然是层次遍历的话,就可以考虑使用队列结构,头出尾入遍历所有的节点。
程序代码
# -*- 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 not root:
return []
res=[]
queue=[root]
while queue:
tmp=queue.pop(0)
res.append(tmp.val)
if tmp.left:
queue.append(tmp.left)
if tmp.right:
queue.append(tmp.right)
return res