代码随想录算法训练营第十二天

2024-06-18 21:36

本文主要是介绍代码随想录算法训练营第十二天,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

144. 二叉树的前序遍历

文档讲解:代码随想录

视频讲解:关于二叉树,你该了解这些!| 二叉树理论基础一网打尽,二叉树的种类、二叉树的存储方式、二叉树节点定义、二叉树的遍历顺序_哔哩哔哩_bilibili

1.用递归。

2.递归结束条件是root为null。

3./

4.用了半个小时。

145. 二叉树的后序遍历

1.用递归。

2.递归结束条件是root为null。

3.递归那里忘记传入数组。

4.用了半个小时。

94. 二叉树的中序遍历

1.用递归。

2.递归结束条件是root为null。

3./

4.用了一分钟。

102. 二叉树的层序遍历

文档讲解:代码随想录

视频讲解:讲透二叉树的层序遍历 | 广度优先搜索 | LeetCode:102.二叉树的层序遍历_哔哩哔哩_bilibili

1.首先想用循环,但又感觉做不出来。

2. 利用队列的先进先出特性,同时记录一下树每一层的节点个数size,在开始读树的新一层时更新size, 循环size次将同一层的节点值保存进一个数组vector,size次后将vector作为一个元素保存进结果数组,当队列长度为0时代码执行结束。

3.最外层循环的边界条件没想清楚,左右节点入队时要判断是否为空。

4. 用了一个小时左右。

107. 二叉树的层序遍历 II

1. 二叉树层序遍历为基础改的题。

2. 没有看。

3.javascript array的unshift是从前面添加数组元素。

4. 用了十分钟左右。

199. 二叉树的右视图

1. 二叉树层序遍历为基础改的题。

2. 没有看。

3.javascript中获取数组最后一个元素不能通过arr[-1]来获取。

4. 用了十分钟左右。

429 . N 叉树的层序遍历

1. 二叉树层序遍历为基础改的题。

2. 没有看。

3.多子节点是存放在一个数组中。

4. 用了半个小时左右。

515 .在每个树行中找最大值

1. 二叉树层序遍历为基础改的题。

2. 没有看。

3.多子节点是存放在一个数组中。

4. 用了半个小时左右。

16 .填充每个节点的下一个右侧节点指针

1. 二叉树层序遍历为基础改的题。

2. 没有看。

3.javascript中可以通过Math.max.apply(null, arr)获取arr的最大值。

4. 用了半个小时左右。

117 .填充每个节点的下一个右侧节点指针

1. 二叉树层序遍历为基础改的题。

2. 没有看。

3.在如何连接指针那里想了一下,将二叉树层序遍历存放节点值修改为存放节点对象,就可以通过遍历二维数组中的每个层节点数组进行指针指向操作,不知道是否还有更好的方法。

4. 将二叉树层序遍历存放节点值修改为存放节点对象,就可以通过遍历二维数组中的每个层节点数组进行指针指向操作;用了一个小时左右。

104 ·二叉树的最大深度

1. 二叉树层序遍历为基础改的题。

2. 没有看。

3.在如何获得二叉树最大深度那里想了一下,遍历每一层节点值将其保存进一个数组作为二维数组的元素,有多少个这样的元素二叉树的深度就是多少,不知道是否还有更好的方法。

4. 遍历每一层节点值将其保存进一个数组作为二维数组的元素,有多少个这样的元素二叉树的深度就是多少;用了半个小时左右。

111 .二叉树的最小深度

1. 二叉树层序遍历为基础改的题。

2. 没有看。

3.在如何获得二叉树最小深度那里想了一下,遍历每一层时将节点保存进一个数组中,然后将层节点数组作为二维数组的一个元素,循环遍历这个二维数组中的每一个元素,如果该元素的左右子节点均为空,则这个元素所在的最外层索引下标+1即为二叉树的最小深度,不知道还有没有更好的方法。

4. 遍历每一层时将节点保存进一个数组中,然后将层节点数组作为二维数组的一个元素,循环遍历这个二维数组中的每一个元素,如果该元素的左右子节点均为空,则这个元素所在的最外层索引下标+1即为二叉树的最小深度;用了一个小时左右。

这篇关于代码随想录算法训练营第十二天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073122

相关文章

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(