题目描述

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

解答

使用两个栈,一个存放节点值,一个存放节点。

# 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 root == None:
return []
results = []
newlist = [root]
while newlist:
curNode = newlist.pop(0)
if curNode.left:
newlist.append(curNode.left)
if curNode.right:
newlist.append(curNode.right)
results.append(curNode.val)
return

结束!