欢迎来到IT嘟嘟的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

从上往下打印二叉树(python)

题目描述

从上往下打印出二叉树的每个节点,同层节点从左至右打印。
# -*- 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
        #即层次遍历。使用列表res来存储遍历结点的值。
        #再使用两个栈来存储当前层次的结点,以及下一层次的结点。 
        if root is None:
            return []
        res = []
        cur_stack = [root]
        while cur_stack:
            nxt_stack = []
            for i in cur_stack:
                if i.left:
                    nxt_stack.append(i.left)
                if i.right:
                    nxt_stack.append(i.right)
                res.append(i.val)
            cur_stack = nxt_stack
        return res

  

posted on 2019-03-03 11:26  IT嘟嘟  阅读(317)  评论(0编辑  收藏  举报

导航