題目描述:
從上往下打印出二叉樹的每個節(jié)點仪缸,同層節(jié)點從左至右打印伴榔。
解題思路:
廣度優(yōu)先搜索僵井,采用隊列(按照層為單位礁击,一層結(jié)束后出隊列)
深度優(yōu)先搜索盐杂,采用棧來實現(xiàn)
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
# 返回從上到下每個節(jié)點值列表,例:[1,2,3]
def PrintFromTopToBottom(self, root):
# write code here
#廣度優(yōu)先搜素,以層為單位哆窿,一層結(jié)束后链烈,就出隊列。
if root == None:
return []
quene = [root]
res = []
while quene:
layer = quene
quene = []
for line in layer:
res.append(line.val)
if line.left:
quene.append(line.left)
if line.right:
quene.append(line.right)
return res