文章 2023-11-16 来自:开发者社区

代码随想录算法训练营第二十天 | LeetCode 530. 二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236. 二叉树的最近公共祖先

1. LeetCode 530. 二叉搜索树的最小绝对差1.1 思路因为是二叉搜索树,按照中序遍历是一个有序序列,此时相邻的两个节点的值就是最小绝对差我们用双指针,一个指向前面pre一个紧跟后面root,用result记录root.val-pre.val的差的最小值。result和pre记录为全局变量递归函数的参数和返回值:返回值为void,参数就是节点终止条件:遇到空了就返回return单层递....

文章 2023-11-16 来自:开发者社区

代码随想录算法训练营第十九天 | LeetCode 654. 最大二叉树、617. 合并二叉树、700. 二叉搜索树中的搜索、98. 验证二叉搜索树

代码随想录算法训练营第十九天 | LeetCode 654. 最大二叉树、617. 合并二叉树、700. 二叉搜索树中的搜索、98. 验证二叉搜索树文章链接:代码随想录最大二叉树        代码随想录合并二叉树        代码随想录二叉搜索树中的搜索        代码....

文章 2023-11-16 来自:开发者社区

代码随想录算法训练营第十八天 | 力扣 513. 找树左下角的值、112. 路径总和、113. 路径总和 II、106. 从中序与后序遍历序列构造二叉树、105. 从前序与中序遍历序列构造二叉树

1. LeetCode  513. 找树左下角的值1.1 思路运用迭代法层序遍历很简单,就最后一层第一个。以下讲解递归法在这题只要我们求深度最大的叶子节点,就一定是在最后一行。那么问题是最后一行怎么求第一个元素呢?这题前中后序都是可以的,“根左右”、“左根右”、“左右根”,因为这题没有“根节点”的处理逻辑的,只需要先遍历左即可,而不处理“根”那“左”就是第一个遍历的,那么一旦得到深度最....

文章 2023-11-16 来自:开发者社区

代码随想录算法训练营第十七天 | LeetCode 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和

1. LeetCode 110. 平衡二叉树1.1 思路平衡二叉树:任何节点的左右子树的高度差小于等于1二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。求深度按道理应该是前序遍历二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数。求高度按道理应该是后序遍历递归函数的参数和返回值:返回值是高度,参数是TreeNode。这里注意我们判断任何一个节点的左右子树的高度差时,如果发现....

文章 2023-11-16 来自:开发者社区

代码随想录算法训练营第十五天 | LeetCode 104. 二叉树的最大深度、559. N 叉树的最大深度、111.二叉树的最小深度、222. 完全二叉树的节点个数

1. LeetCode 104. 二叉树的最大深度559. N 叉树的最大深度1.1 思路区别深度和高度:深度是二叉树任意一个节点到跟根节点的距离(从1还是0开始取决于题意);高度是二叉树任意一个节点到叶子节点的距离(从1还是0开始取决于题意)求高度应该用后序遍历,因为我们自己数高度时是从下往上的,而后序遍历返回结果时就是从下到上的,返回给父节点,父节点就+1即可;求深度应该用前序遍历,顺序是“....

文章 2023-11-16 来自:开发者社区

代码随想录算法训练营第十四天 | LeetCode 102. 二叉树的层序遍历、LeetCode 226. 翻转二叉树、LeetCode 101. 对称二叉树

1. LeetCode 102. 二叉树的层序遍历1.1 思路二叉树的层序遍历就相当于图论里的广度优先搜索,之前的递归遍历就相当于图论里的深度优先搜索只依赖二叉树的结构本身是无法做到层序遍历的,因此需要借助一个队列的数据结构首先将根节点放入,每一层要记录当时队列的长度,这个长度就相当于这层有几个元素,然后根据这个长度把每一层的元素弹出放入一个集合中,因为层序遍历返回的是List<List&a...

文章 2023-11-16 来自:开发者社区

代码随想录算法训练营第十三天 | LeetCode 144. 二叉树的前序遍历、LeetCode 145. 二叉树的后序遍历、LeetCode 94. 二叉树的中序遍历

1. 二叉树理论基础1.1 树型结构概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:有一个特殊的结点,称为根结点,根结点没有前驱结点除根结点外,其余结点被分成M(M > 0)个互不相交的集合T1、T2、......、Tm,其中每一个集合Ti (1 <....

代码随想录算法训练营第十三天 | LeetCode 144. 二叉树的前序遍历、LeetCode 145. 二叉树的后序遍历、LeetCode 94. 二叉树的中序遍历

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

智能搜索推荐

智能推荐(Artificial Intelligence Recommendation,简称AIRec)基于阿里巴巴大数据和人工智能技术,以及在电商、内容、直播、社交等领域的业务沉淀,为企业开发者提供场景化推荐服务、全链路推荐系统开发平台、工程引擎组件库等多种形式服务,助力在线业务增长。

+关注