题目:原题链接(中等)

标签:树、二叉树、广度优先搜索、设计

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 100ms (20.69%)
Ans 2 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 76ms (80.00%)
Ans 3 (Python)

解法一:

class CBTInserter:def __init__(self, root: TreeNode):self.root = rootself.queue = collections.deque([root])while True:if self.queue[0].left:self.queue.append(self.queue[0].left)else:breakif self.queue[0].right:self.queue.append(self.queue[0].right)self.queue.popleft()else:breakdef insert(self, v: int) -> int:if not self.queue[0].left:self.queue[0].left = TreeNode(v)self.queue.append(self.queue[0].left)return self.queue[0].valelse:self.queue[0].right = TreeNode(v)self.queue.append(self.queue[0].right)return self.queue.popleft().valdef get_root(self) -> TreeNode:return self.root

解法二(不再从列表中删除结点):

class CBTInserter:def __init__(self, root: TreeNode):self.queue = [root]for node in self.queue:if node.left:self.queue.append(node.left)else:breakif node.right:self.queue.append(node.right)else:breakdef insert(self, v: int) -> int:self.queue.append(TreeNode(v))idx, sub = divmod(len(self.queue), 2)if sub == 0:self.queue[idx - 1].left = self.queue[-1]else:self.queue[idx - 1].right = self.queue[-1]return self.queue[idx - 1].valdef get_root(self) -> TreeNode:return self.queue[0]

LeetCode题解(0919):设计完全二叉树插入器(Python)相关推荐

  1. LeetCode 0919. 完全二叉树插入器:完全二叉树的数组表示

    [LetMeFly]919.完全二叉树插入器:完全二叉树的数组表示 力扣题目链接:https://leetcode.cn/problems/complete-binary-tree-inserter/ ...

  2. LeetCode 919. 完全二叉树插入器(层序遍历队列)

    1. 题目 完全二叉树是每一层(除最后一层外)都是完全填充(即,结点数达到最大)的,并且所有的结点都尽可能地集中在左侧. 设计一个用完全二叉树初始化的数据结构 CBTInserter,它支持以下几种操 ...

  3. 919 完全二叉树插入器

    题目描述: 完全二叉树是每一层(除最后一层外)都是完全填充(即,节点数达到最大)的,并且所有的节点都尽可能地集中在左侧. 设计一个用完全二叉树初始化的数据结构 CBTInserter,它支持以下几种操 ...

  4. LeetCode题解(1872):石子游戏VIII(Python)

    题目:原题链接(困难) 标签:动态规划 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 356ms (33.33%) Ans ...

  5. LeetCode题解(1168):水资源分配优化(Python)

    题目:原题链接(困难) 标签:图.Prim算法.Kruskal算法 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( N l o g N ) O(NlogN) O(Nlog ...

  6. LeetCode题解(LCP02):分式化简(Python)

    题目:原题链接(简单) 标签:数学 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( N ) O(N) O(N) O ( 1 ) O(1) O(1) 36ms (82.12 ...

  7. LeetCode题解(1386):安排电影院座位(Python)

    题目:原题链接(中等) 标签:贪心算法.数组 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(R)O(R)O(R) O(R)O(R)O(R) 144ms (41.56%) A ...

  8. LeetCode题解(LCP15):游乐园的迷宫(Python)

    题目:原题链接(困难) 标签:贪心算法.几何.数学 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N2)O(N^2)O(N2) O(N)O(N)O(N) 1996ms (1 ...

  9. LeetCode题解(1507):转换日期格式(Python)

    题目:原题链接(简单) 标签:字符串 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( 1 ) O(1) O(1) O ( 1 ) O(1) O(1) 40ms (68.7 ...

最新文章

  1. 网络波动服务器维护中,官方回应《王者荣耀》游戏无法登录:网络波动导致,已修复...
  2. 难解?SAP云平台集成前路何方?
  3. [Java] 02 String的常用方法
  4. 计算机键盘的设计原理图,人体工程学键盘的设计原理
  5. JAVA生成UUID
  6. php判断当前浏览器是否微信浏览器
  7. 使用python移动复制文件
  8. Android studio app登录界面设计
  9. C++一本通在线测评网站 题目1224
  10. 个性签名html,简单个性签名大全2021最新版-简简单单的个性签名--个性简单签名设计-腾牛个性网...
  11. 助力操作系统国产化:Testin云测试服贸会首发鸿蒙系统测试平台
  12. stm32h743单片机嵌入式学习笔记5-液晶屏汉字库原理
  13. Occam‘s razor - 奥卡姆剃刀
  14. Linux内核中常见内存分配函数
  15. 完全平方公式用c语言表达式,完全平方公式教案
  16. arduino小车,准备(一):TB6612FNG电机驱动器
  17. 聊一聊SpringBoot中酷炫的Banner
  18. html地图多点标记,高德地图多点标记自定义地图
  19. 用java编国际象棋3之将军与悔棋
  20. [附源码]java毕业设计电影影评网

热门文章

  1. spotify电脑下载歌曲_流媒体音乐平台Spotify部分账号密码泄露 并非数据库泄露而是撞库...
  2. 利用lxml的xpath解析XML
  3. 使用bp抓取微信公众号数据包
  4. 苹果设备号、IOS版本号、IOS版本编号大全
  5. 【解释型语言】JavaScriptES6
  6. 修复创见SD扩展卡偶尔不识别
  7. vue 选项卡可以滑动_vue实现选项卡及选项卡切换效果
  8. 机器学习-Kmeans
  9. 金融IC卡PBOC规范摘录
  10. 横河变送器EJA110E