首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
代码人生
台风与玫瑰
创建于2022-09-21
订阅专栏
记录自己的刷题记录。
等 2 人订阅
共141篇文章
创建于2022-09-21
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【算法23天:Day23】第六章二叉树 LeetCode 把二叉搜索树转换为累加树(538)
题目三: 解法一:(递归) 解题思路:这个题需要看出其中的规律,很开心这道题自己没有看题解自己做出来了。 从树中可以看出累加的顺序是右中左,所以我们需要反中序遍历这个二叉树,然后顺序累加就可以了。 本
【算法23天:Day23】第六章二叉树 LeetCode 把有序数组转换成二叉搜索树(108)
题目二: 解法一:(递归) 解题思路: 其实这里不用强调平衡二叉搜索树,数组构造二叉树,构成平衡树是自然而然的事情,因为大家默认都是从数组中间位置取值作为节点元素,一般不会随机取,所以想构成不平衡的二
【算法23天:Day23】第六章二叉树 LeetCode 修剪二叉搜索树(669)
题目一: 解法一:(递归) 解题思路: 对根结点 root 进行深度优先遍历。对于当前访问的结点,如果结点为空结点,直接返回空结点;如果结点的值小于 low,那么说明该结点及它的左子树都不符合要求,我
【算法22天:Day22】第六章二叉树 LeetCode 删除二叉搜索树中的节点(450)
题目三: 解法一:(递归) 递归三部曲: 确定递归函数参数以及返回值 说道递归函数的返回值,在二叉树:搜索树中的插入操作 (opens new window)中通过递归返回值来加入新节点, 这里也可以
【算法22天:Day22】第六章二叉树 LeetCode 二叉搜索树中的插入操作(701)
题目二: 解法一:(递归) 递归三部曲 确定递归函数参数以及返回值 参数就是根节点指针,以及要插入元素,有返回值的话,可以利用返回值完成新加入的节点与其父节点的赋值操作。 代码如下: 确定终止条件 终
【算法22天:Day22】第六章二叉树 LeetCode 二叉搜索树的最近公共祖先(235)
题目一: 解法一:(递归) 解题思路:只要从上到下遍历的时候,cur节点是数值在[p, q]区间中则说明该节点cur就是最近公共祖先了。理解这一点,本题就很好解了。 和二叉树:公共祖先问题 (open
【算法21天:Day21】第六章二叉树 LeetCode 二叉搜索树中的众数(501)
题目二: 解法一:(递归 | 普通二叉树) 如果不是二叉搜索树,最直观的方法一定是把这个树都遍历了,用map统计频率,然后根据频率来进行筛选。 完整代码如下: 解法二:(递归 | 二叉搜索树) 既然是
【算法21天:Day21】第六章二叉树 LeetCode 二叉树的最近公共祖先(236)
第三题: 解题思路:这题看了不会动手了,看了解析都看了很久,后来看了代码,慢慢懂了,后续遍历的回溯思想。需要多想想呀。
【算法21天:Day21】第六章二叉树 LeetCode 二叉搜索树的最小绝对差(530)
题目一: 解法一:(递归) 解题思路:先将结点的值遍历到数组中,然后在数组中一一比较,取得两数之差的最小差值(绝对值) 解法二:(递归 | 优化解法一) 解题思路:题目中要求在二叉搜索树上任意两节点的
【算法20天:Day20】第六章二叉树 LeetCode 验证二叉搜索树(98)
题目四: 解法一:(辅助数组) 解题思路: 要知道中序遍历下,输出的二叉搜索树节点的数值是有序序列。 有了这个特性,验证二叉搜索树,就相当于变成了判断一个序列是不是递增的了。 可以递归中序遍历将二叉搜
【算法20天:Day20】第六章二叉树 LeetCode 二叉搜索树中的搜索(700)
题目三: 解法一:(递归) 解题思路: 二叉搜索树是一个有序树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左
【算法20天:Day20】第六章二叉树 LeetCode 合并二叉树(617)
题目二: 解法一:(递归) 解题思路:递归三部曲(前中后序均可) 确定递归函数的参数和返回值: 首先那么要合入两个二叉树,那么参数至少是要传入两个二叉树的根节点,返回值就是合并之后二叉树的根节点。 确
【算法20天:Day20】第六章二叉树 LeetCode 最大二叉树(654)
题目一: 解法一:(递归) 解题思路:这个题主要就是按照题目的要求进行即可,主要是要注意递归终止条件的判断。 构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。 确定递归函数
【算法18天:Day18】第六章二叉树 LeetCode 从前序与中序遍历序列构造二叉树(105)
题目五: 解法一:(递归) 解题思路:这个题跟中序和后续创建二叉树类似,主要就是要画图,画图就十分清晰了,注意的是,最先处理的根节点,是从前序遍历中shift,即前序遍历中便没有了这个元素了,这点很重
【算法18天:Day18】第六章二叉树 LeetCode 从中序与后序遍历序列构造二叉树(106)
题目四: 解法一:(递归)(根据示例输入画图比划) 解题思路:以后序数组的最后一个元素为切割点,先切中序数组,根据中序数组,反过来在切后序数组。一层一层切下去,每次后序数组最后一个元素就是节点元素。
【算法18天:Day18】第六章二叉树 LeetCode 路径总和(112)
题目二: 解法一:(递归) 解题思路:我的思路就是递归求和,到达叶子节点时,就判断路径和是否等于目标值,如果相等则返回true,如果当前结点为null时,表明位于根节点时,并无返回true,也就是不等
【算法18天:Day18】第六章二叉树 LeetCode 路径总和ii(113)
题目三: 解法一: 解题思路:这个题跟112的路径总数很类似,需要注意的是,如果走到空结点,表明当前路径是不符合的,因此需要pop出最后push进去的叶子结点。 解法二:(迭代) 参考代码随想录~
【算法18天:Day18】第六章二叉树 LeetCode 找左下角的值(513)
题目一: 解法一:(递归) 解题思路:首先要是最后一行,然后是最左边的值。 如果使用递归法,如何判断是最后一行呢,其实就是深度最大的叶子节点一定是最后一行。 所以要找深度最大的叶子节点。 那么如果找最
【算法17天:Day17】第六章二叉树 LeetCode 左叶子之和(404)
题目三: 解法一:(递归) 解题思路:这个题我想自己写,大致思路对了,就是对于左叶子没定义好,导致没写出来。这个题的递归思路就是:使用闭包定义sum,递归逻辑中,遇到当前节点的左节点是左叶子节点时,就
【算法17天:Day17】第六章二叉树 LeetCode 二叉树的所有路径(257)
题目二: 解法一:(递归) 解题思路: 这道题目要求从根节点到叶子的路径,所以需要前序遍历,这样才方便让父节点指向孩子节点,找到对应的路径。 在这道题目中将第一次涉及到回溯,因为我们要把路径记录下来,
下一页