从上往下打印二叉树

题目描述

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

解答

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

# 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 results

结束!

原文地址:https://www.cnblogs.com/aaronthon/p/13790274.html