- 博客(183)
- 收藏
- 关注
原创 【LeetCode-简单题】501. 二叉搜索树中的众数
维护一个最大频率maxcount、单数字统计频率count、当前节点root的前一个节点 pre、这是针对于普通二叉树的解法 统计number出现次数 然后将次数最大的众数集 取出来。关键在于本层逻辑的处理。
2023-09-25 16:09:22 363
原创 【LeetCode-中等题】106. 从中序与后序遍历序列构造二叉树
前序遍历子树的范围(根据后序的根区分)左边界。前序遍历子树的范围(根据后序的根区分)右边界。只需确定三个变量即可。
2023-09-24 18:09:18 243
原创 【LeetCode-中等题】113. 路径总和 II
解题核心 就是要知道递归在哪里结束 ,收货结果在哪里收获,哪些变量需要回溯,哪些不需要回溯。
2023-09-24 14:09:22 181
原创 【LeetCode-简单题】513. 找树左下角的值
本题只会在叶子结点才会去统计结果 也就是 root.left==null&&root.right ==null。如果root.left或者 root.right 一方为null 都不需要往下递归 不关心非叶子结点。使用两个队列,分别记录节点的出入,和路径值的累加出入,每当走到了叶子结点再去判断结果。
2023-09-24 12:17:59 69
原创 【LeetCode-中等题】513. 找树左下角的值
在递归遍历到叶子结点时,对比此时的节点深度,若当前节点深度大于当前最大深度,就更新value值,最后记录下的value即为最下最左的节点值。层序遍历 按照从右向左加入每层节点的值,这样每层取出节点的时候,最后记录的就是每一层最左的节点值,然后直到最后一层,记录下最后一层最左的值。不带值(深度)递归(递归+
2023-09-23 13:23:15 97
原创 【LeetCode-简单题】589. N 叉树的前序遍历
原理和二叉树的前序遍历一样 相当于把左右孩子 改成孩子集合了 孩子变多了而已,核心还是 根左右(先跟 再左孩子 在右孩子)因为是前序遍历 所以压栈顺序先让右边的入栈 依次往左 这样左边的节点会在栈顶 这样下次优先出栈的是左边的元素 满足前序遍历。关键在于子节点的入栈顺序,决定了子节点的出栈顺序,
2023-09-21 15:22:34 256 1
原创 【LeetCode-中等题】117. 填充每个节点的下一个右侧节点指针 II
【代码】【LeetCode-中等题】117. 填充每个节点的下一个右侧节点指针 II。
2023-09-20 17:42:00 255
原创 【LeetCode-中等题】116. 填充每个节点的下一个右侧节点指针
while(!i < size;i++){//第二种链接方法 : 直接让每层不是最后一个的节点指向此时队首元素//每层最后一个指向 null//不是最后一个的节点指向此时队首元素。
2023-09-20 16:32:45 260
原创 【LeetCode-困难题】239. 滑动窗口最大值
开始滑动:当队首元素(最大元素)是滑动窗口后要被抛弃的元素时,他就不能再是最大值了,就必须去掉,接着如果当前待入栈元素大于队列尾部元素,则将尾部元素弹出 只到当前待入队元素不大于队尾元素 或者队列为空 才能加入队列。构建窗口,如果当前待入队元素大于队列尾部元素,则将尾部元素弹出 直到当前待入栈元素不大于队尾元素 或者队列为空 才能加入队列。在处理的同时将队首的窗口最大元素加入结果集。
2023-09-18 19:34:23 393
原创 【LeetCode-简单题】1047. 删除字符串中的所有相邻重复项
【代码】【LeetCode-简单题】1047. 删除字符串中的所有相邻重复项。
2023-09-18 11:39:21 251
原创 【LeetCode-简单题 KMP匹配算法】28. 找出字符串中第一个匹配项的下标
第一步:根据匹配串构建next前缀数组(不减-1的版本)第二步:根据构建好的next数组,去文本串里面进行匹配。
2023-09-16 11:22:52 214
原创 【LeetCode-简单题】剑指 Offer 58 - II. 左旋转字符串
【代码】【LeetCode-简单题】剑指 Offer 58 - II. 左旋转字符串。
2023-09-15 12:20:28 239
原创 【LeetCode-简单题】541. 反转字符串 II
题目的意思: 通俗一点说,每隔k个反转k个,末尾不够k个时全部反转;需要注意右边界的取值。
2023-09-14 16:03:54 261
原创 【LeetCode-中等题】 454. 四数相加 II
因为本题特殊在和是为0 的 所以后面的两个数组之和取反 如果能在map的key中存在,说明存在和为0 的情况,则结果集数量+1。哈希表记录前两个数组的和以及出现次数,然后记录后面两个数组的和,成功将四数之和转换为两数之和。
2023-09-14 13:05:32 514
原创 【LeetCode-中等题】18. 四数之和
那么这题也是同理的,我们需要做的事就是定住2个数,要用两个for循环定住两个数,然后设置两个前后指针来根据sum的值和目标值比较来滑动指针。区别在于,三数之和只需要用一个for循环定住一个数,然后设置两个前后指针来根据sum的值和目标值比较来滑动指针。里面的处理细节很多需要注意,提前处理一些不可能满足条件的情况,减少时间复杂度。
2023-09-14 10:58:05 220
原创 【LeetCode-简单题】202. 快乐数
因为如果最后得到n=1的时候,再怎么继续计算也是1,说明走到了尽头才出现了环,返回true。如果最后形成环的时候不是在n=1的情况下形成的,说明存在了环,直接返回false。这一题其实可以转变为是否存在环;
2023-09-13 19:36:19 166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人