力扣算法
文章平均质量分 62
咸鱼不闲.s
可恶,我要哐哐学!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代码随想录day24| 93.复原IP地址 、 78.子集 、 90.子集II
【代码】代码随想录day24| 93.复原IP地址 、 78.子集 、 90.子集II。原创 2024-11-17 18:16:21 · 256 阅读 · 0 评论 -
代码随想录day23| 39. 组合总和 、 40.组合总和II 、131.分割回文串
【代码】代码随想录day23| 39. 组合总和 、 40.组合总和II 、131.分割回文串。原创 2024-11-17 18:05:49 · 220 阅读 · 0 评论 -
代码随想录day22| 77. 组合 、 216.组合总和III 、 17.电话号码的字母组合
【代码】代码随想录day22| 77. 组合 、 216.组合总和III 、 17.电话号码的字母组合。原创 2024-11-17 17:51:36 · 348 阅读 · 0 评论 -
代码随想录day21| 669. 修剪二叉搜索树 、 108.将有序数组转换为二叉搜索树 、538.把二叉搜索树转换为累加树
如果当前节点小于范围的最小值,则递归寻找右子树中符合范围的根节点;如果当前节点大于范围的最大值,则递归寻找左子树中符合范围的根节点;左右递归的返回值赋给左右子树;原创 2024-11-06 15:06:26 · 293 阅读 · 0 评论 -
代码随想录day20| 235. 二叉搜索树的最近公共祖先 、 701.二叉搜索树中的插入操作 、 450.删除二叉搜索树中的节点
二叉搜索树可以提供搜索方向,如果p,q都大于当前节点,则向右搜索;如果p,q都小于当前节点,则向右搜索;如果在中间,则当前节点就是公共祖先。使用二叉搜索树确定方向,搜索要插入的位置,这个位置一定是根节点,到根节点是插入即可。原创 2024-11-05 19:06:55 · 315 阅读 · 0 评论 -
代码随想录day18| 530.二叉搜索树的最小绝对差 、501.二叉搜索树中的众数 、 236. 二叉树的最近公共祖先
使用中序遍历二叉搜索数,得到的结果集是有序递增的数组,可以用。在有序递增的数组中找最小绝对差。原创 2024-11-04 17:06:18 · 192 阅读 · 0 评论 -
代码随想录day17| 654.最大二叉树 、 617.合并二叉树 、 700.二叉搜索树中的搜索、98.验证二叉搜索树
二叉搜索树,得到的结果集是递增的。可以在处理中是比较当前根节点(root)是否大于前一个节点(max)值,若大,则更新max = root(注意这里直接赋值的是节点所代表的整个子树,而非一个节点),否则返回false;这里max如果是初始值null,则直接更新max为当前节点。是递归的返回值为node节点,方便上层root.left和root.rigth接收结果,最后返回root。这里注意可以直接在原二叉树中修改,递归返回的是。使用递归构建二叉树,原创 2024-11-03 18:43:33 · 238 阅读 · 0 评论 -
代码随想录day16| 513找树左下角的值 、 路径总和 、 从中序与后序遍历序列构造二叉树
这里相比上一个题目需要收集具体的符合目标的路径,所以回溯两个值:当前路径值的和(sum )、当前收集的路径节点(path )使用层序遍历,找到最后一层最左边的数值(每层循环的第一个值)返回即可。遍历二叉树并且记录当前深度,到根节点时更新最大深度的值,然后使用。来更新其他路径时的深度。:切割数组时的边界处理。原创 2024-11-03 18:31:34 · 252 阅读 · 0 评论 -
代码随想录day15| 110.平衡二叉树 、 257. 二叉树的所有路径 、 404.左叶子之和、 222.完全二叉树的节点个数
递归后序遍历(知道左右子树的结果才能确定当前根节点的性质), 左子树的深度和右子树的深度相差是否大于一,如果大于一则返回-1,否则返回当前节点深度。使用前序遍历+回溯来收集路径。使用递归(中序)记录节点个数。原创 2024-11-03 18:19:19 · 248 阅读 · 0 评论 -
代码随想录day14| 226.翻转二叉树 、101. 对称二叉树 、 104.二叉树的最大深度、 111.二叉树的最小深度
使用递归判断左右子树是否对称,这里使用后序遍历且返回boolean值,只有左子树是否对称的结果,右子树的结果都为true,则当前根节点为true。使用递归将子树的左右子树翻转。原创 2024-11-03 17:54:28 · 422 阅读 · 0 评论 -
代码随想录day13| 递归遍历 、 迭代遍历 、 统一迭代、 层序遍历
使用队列来模拟层序遍历。原创 2024-11-03 17:42:39 · 294 阅读 · 0 评论 -
代码随想录day11| 150. 逆波兰表达式求值 、 239. 滑动窗口最大值 、 347.前 K 个高频元素
【代码】代码随想录day11| 150. 逆波兰表达式求值 、 239. 滑动窗口最大值 、 347.前 K 个高频元素。原创 2024-10-27 19:59:00 · 375 阅读 · 0 评论 -
代码随想录day10| 232.用栈实现队列 、 225. 用队列实现栈 、 20. 有效的括号、1047. 删除字符串中的所有相邻重复项
在遍历栈时,不要使用for循环,会漏掉元素;要使用while(!原创 2024-10-27 19:37:57 · 400 阅读 · 0 评论 -
代码随想录day9| 151.翻转字符串里的单词 、 卡码网:55.右旋转字符串
【代码】代码随想录day9| 151.翻转字符串里的单词 、 卡码网:55.右旋转字符串。原创 2024-10-27 19:18:46 · 291 阅读 · 0 评论 -
代码随想录day8| 344.反转字符串 、 541. 反转字符串II 、 卡码网:54.替换数字
使用双指针(一个指向头,一个指向尾),交换两个字符,直到两个指针相遇或者相交。原创 2024-10-23 15:55:51 · 401 阅读 · 0 评论 -
代码随想录day7| 454.四数相加II 、383. 赎金信 、 15. 三数之和 、 18. 四数之和
和三数之和类似,去重略有不同。原创 2024-10-22 14:42:57 · 398 阅读 · 0 评论 -
代码随想录day6| 242.有效的字母异位词 、349. 两个数组的交集、 202. 快乐数 、 1. 两数之和
【代码】代码随想录day6| 242.有效的字母异位词 、349. 两个数组的交集、 202. 快乐数 、 1. 两数之和。原创 2024-10-21 16:34:08 · 418 阅读 · 0 评论 -
代码随想录day4| 24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交、 142.环形链表II、链表总结
一般涉及到 增删改操作,用虚拟头结点都会方便很多, 如果只能查的话,用不用虚拟头结点都差不多。原创 2024-10-19 16:13:59 · 582 阅读 · 0 评论 -
代码随想录day3| 203.移除链表元素 、707.设计链表 、 206.反转链表
这里我写addAtIndex时,由于调用了addAtTail方法,导致size加了两次,导致结果错误。这道题在原链表上操作的基础上,需要知道当前节点、前节点和后节点。由于处理头结点是特殊情况,所以使用虚拟头结点。这道题主要理解题意,原创 2024-10-18 15:09:15 · 1018 阅读 · 0 评论 -
代码随想录day2| 209.长度最小的子数组、 59.螺旋矩阵II、区间和、开发商购买土地
(窗口中)数组和大了移动慢指针,数组和小了移动快指针,以此方法来寻找所有满足条件的子数组,并在这个过程中记录每个子数组的长度,更新在最小值min中,最后返回即可。int s = 0;int f = 0;for(;f++){0:min;模拟题目先想清楚思路,写出伪代码,再慢慢调试代码,看写出的代码是不是之前想的思路。原创 2024-10-17 16:10:34 · 601 阅读 · 0 评论 -
代码随想录day1| 704. 二分查找、27. 移除元素、977.有序数组的平方
二分查找、双指针原创 2024-10-16 15:38:15 · 414 阅读 · 2 评论
分享