自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(183)
  • 收藏
  • 关注

原创 【LeetCode-简单题】501. 二叉搜索树中的众数

维护一个最大频率maxcount、单数字统计频率count、当前节点root的前一个节点 pre、这是针对于普通二叉树的解法 统计number出现次数 然后将次数最大的众数集 取出来。关键在于本层逻辑的处理。

2023-09-25 16:09:22 363

原创 【LeetCode-中等题】654.最大二叉树

【代码】【LeetCode-中等题】106. 从中序与后序遍历序列构造二叉树。

2023-09-25 11:31:12 297

原创 【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-简单题】110. 平衡二叉树

递归遍历的同时判断是否是平衡二叉树,如果不是,就置为-1,如果是 就正常做递归求最大深度。

2023-09-22 15:58:38 355

原创 【LeetCode-中等题】 222. 完全二叉树的节点个数

例如:二叉树的前序遍历(维护一个全局变量)递归无返回值。一定要画图 模拟递归过程。

2023-09-21 20:51:50 294

原创 【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-中等题】515. 在每个树行中找最大值

本题解题过程大体思路和二叉树的层序遍历没有什么不同。

2023-09-20 15:53:26 194

原创 【LeetCode-中等题】429. N 叉树的层序遍历

思路和二叉树的层序遍历一样,这一题的关键在于取出每个节点的孩子。

2023-09-20 15:40:34 288 1

原创 【LeetCode-中等题】107. 二叉树的层序遍历 II

这样就无须将最后的结果res做reverse翻转了。

2023-09-19 19:09:25 229

原创 【Java基础】队列Queue、栈stack、常用Api

呢,答案是当然可以!!

2023-09-19 14:39:52 356

原创 【LeetCode-中等题】347. 前 K 个高频元素

优先队列 按照队列中的数组的第二个元素从。优先队列 按照队列中的数组的第二个元素从。

2023-09-18 21:51:01 171

原创 【LeetCode-困难题】239. 滑动窗口最大值

开始滑动:当队首元素(最大元素)是滑动窗口后要被抛弃的元素时,他就不能再是最大值了,就必须去掉,接着如果当前待入栈元素大于队列尾部元素,则将尾部元素弹出 只到当前待入队元素不大于队尾元素 或者队列为空 才能加入队列。构建窗口,如果当前待入队元素大于队列尾部元素,则将尾部元素弹出 直到当前待入栈元素不大于队尾元素 或者队列为空 才能加入队列。在处理的同时将队首的窗口最大元素加入结果集。

2023-09-18 19:34:23 393

原创 【LeetCode-中等题】150. 逆波兰表达式求值

【代码】【LeetCode-简单题】150. 逆波兰表达式求值。

2023-09-18 13:29:55 157

原创 【LeetCode-简单题】1047. 删除字符串中的所有相邻重复项

【代码】【LeetCode-简单题】1047. 删除字符串中的所有相邻重复项。

2023-09-18 11:39:21 251

原创 【LeetCode-简单题】225. 用队列实现栈

【代码】【LeetCode-简单题】225. 用队列实现栈。

2023-09-17 19:22:54 220

原创 【LeetCode-简单题KMP】232. 用栈实现队列

【代码】【LeetCode-简单题KMP】232. 用栈实现队列。

2023-09-17 18:32:52 176

原创 【LeetCode-简单题KMP】459. 重复的子字符串

【代码】【LeetCode-简单题KMP】459. 重复的子字符串。

2023-09-16 16:50:13 232

原创 【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-中等题】 151. 反转字符串中的单词

【代码】【LeetCode-中等题】 151. 反转字符串中的单词。

2023-09-15 11:24:48 242

原创 【LeetCode-简单题】剑指 Offer 05. 替换空格

【代码】【LeetCode-简单题】剑指 Offer 05. 替换空格。

2023-09-14 17:52:10 254 1

原创 【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-中等题】15. 三数之和

将四数之和 借助哈希表简化成两数之和。

2023-09-14 11:45:10 170

原创 【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

原创 【LeetCode-简单题】350. 两个数组的交集 II

【代码】【LeetCode-简单题】350. 两个数组的交集 II。

2023-09-13 17:28:43 132

原创 【LeetCode-简单题】383. 赎金信

方法二:哈希表同理方法一

2023-09-13 12:50:24 157

原创 【LeetCode-简答题】242. 有效的字母异位词

【代码】【LeetCode-简答题】242. 有效的字母异位词。

2023-09-13 10:29:53 176

原创 【LeetCode-中等题】707. 设计链表

【代码】【LeetCode-中等题】707. 设计链表。

2023-09-12 09:59:53 152

原创 【LeetCode-中等题】59. 螺旋矩阵 II

定义四个边界条件,每转一圈,把数值填进去,然后缩小一圈,直到不满足条件位置。

2023-09-11 17:23:04 253

原创 【LeetCode-中等题】904. 水果成篮

题目的意思就是:找至多包含两种元素的最长子串,返回其长度。

2023-09-11 15:26:02 281

原创 【LeetCode-中等题】209. 长度最小的子数组

两种方式都可以 一定要画图理解。

2023-09-11 13:57:19 230 1

原创 【LeetCode-简单题】977. 有序数组的平方

【代码】LeetCode-简单题】977. 有序数组的平方。

2023-09-11 10:54:22 304

原创 【LeetCode-简单题】844. 比较含退格的字符串

【代码】【LeetCode-中等题】844. 比较含退格的字符串。

2023-09-11 10:07:27 387 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除