面试题32.1:从上到下打印二叉树

题目描述

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

知识点

二叉树,队列


Qiang的思路

这道题说白了就是一个层次遍历,或者说是图的广度优先遍历的问题,那么就需要一个队列将待遍历的元素存储下来,然后对其按照先进先出的原则进行遍历,同时将其孩子节点按照先左后右的顺序进行入队,按照这个顺序便能够实现一个二叉树的层次遍历了。

# -*- 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 []
        res=[]
        l=[root]
        while len(l)!=0:
            n=l.pop(0)
            res.append(n.val)
            if n.left!=None:
                l.append(n.left)
            if n.right!=None:
                l.append(n.right)
        return res

作者原创,如需转载及其他问题请邮箱联系:lwqiang_chn@163.com
个人网站:https://www.myqiang.top

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容