博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(python版)《剑指Offer》JZ22:从上往下打印二叉树
阅读量:4090 次
发布时间:2019-05-25

本文共 972 字,大约阅读时间需要 3 分钟。

本系列文章为《剑指Offer》刷题笔记。

刷题平台:

在这里插入图片描述
牛客这个输入是按哪种排序构建的?有哪位前辈帮我解答一二?

先以LeetCode的这个例子看吧

在这里插入图片描述

  • 题目要求的二叉树的 从上至下 打印(即按层打印),又称为二叉树的 广度优先搜索(BFS)
  • BFS 通常借助 队列 的先入先出特性来实现。
    在这里插入图片描述

欣赏大佬的图解

注:queue 是一个叫做“queue队列”的列表, pop方法可返回被删元素
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1、7 同理,直至queue为空,res得到的便是按层遍历 / BFS 的结果
在这里插入图片描述
在这里插入图片描述

# -*- 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        if not root:return []        queue = [root]        result = []        while queue:            node = queue.pop(0)            result.append(node.val)            if node.left:                queue.append(node.left)            if node.right:                queue.append(node.right)        return result

注:队首元素出队,node = queue.pop(0),否则默认删除最后一个元素

链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/solution/mian-shi-ti-32-i-cong-shang-dao-xia-da-yin-er-ch-4/

在这里插入图片描述

转载地址:http://pyjii.baihongyu.com/

你可能感兴趣的文章
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
《PostgreSQL技术内幕:查询优化深度探索》养成记
查看>>
剑指_复杂链表的复制
查看>>
FTP 常见问题
查看>>
shell 快捷键
查看>>
MODULE_DEVICE_TABLE的理解
查看>>
No devices detected. Fatal server error: no screens found
查看>>
db db2_monitorTool IBM Rational Performace Tester
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
swift中单例的创建及销毁
查看>>
IE不支持option的display:none属性
查看>>
[分享]mysql内置用于字符串型ip地址和整数型ip地址转换函数
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
移植Vim配色方案到Eclipse
查看>>
谈谈加密和混淆吧[转]
查看>>
乘法逆元
查看>>
Objective-C 基础入门(一)
查看>>