剑指offer 23 从上往下打印二叉树

来源:互联网 发布:js 视频加载完成后执行 编辑:程序博客网 时间:2024/06/05 15:35

题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路:
二叉树的层次遍历,用队列存储即可。

# -*- coding:utf-8 -*-# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution:    # 返回从上到下每个节点值列表,例:[1,2,3]    def PrintFromTopToBottom(self, root):        # write code here        res = []        mylist = []        if root == None:            return res        mylist.append(root)        while len(mylist) > 0:            node = mylist[0]            mylist.pop(0)            res.append(node.val)            if node.left != None:                mylist.append(node.left)            if node.right != None:                mylist.append(node.right)        return res