- 读完本文,可以去力扣解决如下题目:226. 翻转二叉树(简单)114. 二叉树展开为链表(中等)116. 填充每个节点的下一个右侧节点指针(中等)PS:刷题插件 集成了手把手刷二叉树功能,按照公式和套路讲解了 150 道二叉树题目,可手把手带你刷完二叉树分类的题目,迅速掌握递归思维。本文承接 东哥带你刷二叉树(纲领篇),先复述一下前文总结的二叉树解题总纲:二叉树解题的思维模式分两类:1、是否... 读完本文,可以去力扣解决如下题目:226. 翻转二叉树(简单)114. 二叉树展开为链表(中等)116. 填充每个节点的下一个右侧节点指针(中等)PS:刷题插件 集成了手把手刷二叉树功能,按照公式和套路讲解了 150 道二叉树题目,可手把手带你刷完二叉树分类的题目,迅速掌握递归思维。本文承接 东哥带你刷二叉树(纲领篇),先复述一下前文总结的二叉树解题总纲:二叉树解题的思维模式分两类:1、是否...
- 读完本文,可以去力扣解决如下题目:104. 二叉树的最大深度(简单)543. 二叉树的直径(简单)144. 二叉树的前序遍历(简单)PS:刷题插件 集成了手把手刷二叉树功能,按照公式和套路讲解了 150 道二叉树题目,可手把手带你刷完二叉树分类的题目,迅速掌握递归思维。公众号历史文章的整个脉络都是按照 学习数据结构和算法的框架思维 提出的框架来构建的,其中着重强调了二叉树题目的重要性。我刷了... 读完本文,可以去力扣解决如下题目:104. 二叉树的最大深度(简单)543. 二叉树的直径(简单)144. 二叉树的前序遍历(简单)PS:刷题插件 集成了手把手刷二叉树功能,按照公式和套路讲解了 150 道二叉树题目,可手把手带你刷完二叉树分类的题目,迅速掌握递归思维。公众号历史文章的整个脉络都是按照 学习数据结构和算法的框架思维 提出的框架来构建的,其中着重强调了二叉树题目的重要性。我刷了...
- 读完本文,你可以去力扣解决如下题目:第 316 题「去除重复字母」,难度 Hard 第 1081 题「不同字符的最小子序列」,难度 Medium关于去重算法,应该没什么难度,往哈希集合里面塞不就行了么?最多给你加点限制,问你怎么给有序数组原地去重,这个我们旧文 如何高效地给有序数组/链表去重 讲过。本文讲的问题应该是去重相关算法中难度最大的了,把这个问题搞懂,就再也不用怕数组去重问题了。这是... 读完本文,你可以去力扣解决如下题目:第 316 题「去除重复字母」,难度 Hard 第 1081 题「不同字符的最小子序列」,难度 Medium关于去重算法,应该没什么难度,往哈希集合里面塞不就行了么?最多给你加点限制,问你怎么给有序数组原地去重,这个我们旧文 如何高效地给有序数组/链表去重 讲过。本文讲的问题应该是去重相关算法中难度最大的了,把这个问题搞懂,就再也不用怕数组去重问题了。这是...
- 这是力扣第 380 题,看下题目:就是说就是让我们实现如下一个类:class RandomizedSet { /** 如果 val 不存在集合中,则插入并返回 true,否则直接返回 false */ public boolean insert(int val) {} /** 如果 val 在集合中,则删除并返回 true,否则直接返回 false */ public... 这是力扣第 380 题,看下题目:就是说就是让我们实现如下一个类:class RandomizedSet { /** 如果 val 不存在集合中,则插入并返回 true,否则直接返回 false */ public boolean insert(int val) {} /** 如果 val 在集合中,则删除并返回 true,否则直接返回 false */ public...
- 读完本文,可以去力扣解决如下题目:528. 按权重随机选择(中等)写这篇的文章的原因是玩 LOL 手游。我有个朋友抱怨说打排位匹配的队友太菜了,我就说我打排位觉得队友都挺行的啊?我经常躺赢。朋友意味深长地说了句:一般隐藏分比较高的玩家,排位如果排不到实力相当的队友,就会排到一些菜狗。嗯?我想了几秒钟感觉这小伙子不对劲,他意思是说我隐藏分低,还是说我就是那条菜狗?我立马要求和他开黑打一把,证明... 读完本文,可以去力扣解决如下题目:528. 按权重随机选择(中等)写这篇的文章的原因是玩 LOL 手游。我有个朋友抱怨说打排位匹配的队友太菜了,我就说我打排位觉得队友都挺行的啊?我经常躺赢。朋友意味深长地说了句:一般隐藏分比较高的玩家,排位如果排不到实力相当的队友,就会排到一些菜狗。嗯?我想了几秒钟感觉这小伙子不对劲,他意思是说我隐藏分低,还是说我就是那条菜狗?我立马要求和他开黑打一把,证明...
- 本文是以前的一篇《二分查找详解》的修订版,在力扣上获得近 600 点赞,恐怕是全站最高题解了吧。这篇增加了很多新内容,而且将三种二分形式以一个框架统一起来了,以不变应万变,你遇到啥问题直接改两行就完事儿了。为此我还特意作了首诗,可以说无敌的存在,建议收藏。先给大家讲个笑话乐呵一下:有一天阿东到图书馆借了 N 本书,出图书馆的时候,警报响了,于是保安把阿东拦下,要检查一下哪本书没有登记出借。阿... 本文是以前的一篇《二分查找详解》的修订版,在力扣上获得近 600 点赞,恐怕是全站最高题解了吧。这篇增加了很多新内容,而且将三种二分形式以一个框架统一起来了,以不变应万变,你遇到啥问题直接改两行就完事儿了。为此我还特意作了首诗,可以说无敌的存在,建议收藏。先给大家讲个笑话乐呵一下:有一天阿东到图书馆借了 N 本书,出图书馆的时候,警报响了,于是保安把阿东拦下,要检查一下哪本书没有登记出借。阿...
- 读完本文,可以去力扣解决如下题目:28. 实现 strStr()(简单)187. 重复的DNA序列(中等)经常有读者留言,请我讲讲那些比较经典的算法,我觉得有这个必要,主要有以下原因:1、经典算法之所以经典,一定是因为有独特新颖的设计思想,那当然要带大家学习一波。2、我会尽量从最简单、最基本的算法切入,带你亲手推导出来这些经典算法的设计思想,自然流畅地写出最终解法。一方面消除大多数人对算法的... 读完本文,可以去力扣解决如下题目:28. 实现 strStr()(简单)187. 重复的DNA序列(中等)经常有读者留言,请我讲讲那些比较经典的算法,我觉得有这个必要,主要有以下原因:1、经典算法之所以经典,一定是因为有独特新颖的设计思想,那当然要带大家学习一波。2、我会尽量从最简单、最基本的算法切入,带你亲手推导出来这些经典算法的设计思想,自然流畅地写出最终解法。一方面消除大多数人对算法的...
- 在线学习网站:https://labuladong.github.io/algo/读完本文,可以去力扣解决如下题目:76. 最小覆盖子串(困难)567. 字符串的排列(中等)438. 找到字符串中所有字母异位词(中等)3. 无重复字符的最长子串(中等)鉴于前文 二分搜索框架详解 的那首《二分搜索升天词》很受好评,并在民间广为流传,成为安睡助眠的一剂良方,今天在滑动窗口算法框架中,我再次编写一... 在线学习网站:https://labuladong.github.io/algo/读完本文,可以去力扣解决如下题目:76. 最小覆盖子串(困难)567. 字符串的排列(中等)438. 找到字符串中所有字母异位词(中等)3. 无重复字符的最长子串(中等)鉴于前文 二分搜索框架详解 的那首《二分搜索升天词》很受好评,并在民间广为流传,成为安睡助眠的一剂良方,今天在滑动窗口算法框架中,我再次编写一...
- 读完本文,可以去力扣解决如下题目:48. 旋转图像(中等)54. 螺旋矩阵(中等)59. 螺旋矩阵 II(中等)有不少读者说,看过很多公众号历史文章之后掌握了框架思维,可以解决大部分有套路框架可循的题目。但是框架思维也不是万能的,有一些特定技巧呢,属于会者不难,难者不会的类型,只能通过多刷题进行总结和积累。那么本文我分享一些巧妙的二维数组的花式操作,你只要有个印象,以后遇到类似题目就不会懵圈... 读完本文,可以去力扣解决如下题目:48. 旋转图像(中等)54. 螺旋矩阵(中等)59. 螺旋矩阵 II(中等)有不少读者说,看过很多公众号历史文章之后掌握了框架思维,可以解决大部分有套路框架可循的题目。但是框架思维也不是万能的,有一些特定技巧呢,属于会者不难,难者不会的类型,只能通过多刷题进行总结和积累。那么本文我分享一些巧妙的二维数组的花式操作,你只要有个印象,以后遇到类似题目就不会懵圈...
- 读完本文,可以去力扣解决如下题目:370. 区间加法(中等)1109. 航班预订统计(中等)1094. 拼车(中等)PS:这是一年前发布的 论那些小而美的算法技巧:差分数组/前缀和,我优化并添加了很多内容,重新发一遍。前文说前缀和主要适用的场景是原始数组不会被修改的情况下,频繁查询某个区间的累加和。这里简单介绍一下前缀和,核心代码就是下面这段:class PrefixSum { // ... 读完本文,可以去力扣解决如下题目:370. 区间加法(中等)1109. 航班预订统计(中等)1094. 拼车(中等)PS:这是一年前发布的 论那些小而美的算法技巧:差分数组/前缀和,我优化并添加了很多内容,重新发一遍。前文说前缀和主要适用的场景是原始数组不会被修改的情况下,频繁查询某个区间的累加和。这里简单介绍一下前缀和,核心代码就是下面这段:class PrefixSum { // ...
- 读完本文,可以去力扣解决如下题目:303. 区域和检索 - 数组不可变(中等)304. 二维区域和检索 - 矩阵不可变(中等)560. 和为K的子数组(中等)PS:这是两年前发布的 前缀和技巧:解决子数组问题,我优化并添加了很多内容,这里重新发一遍。前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。一维数组中的前缀和先看一道例题,力扣第 303 题「区域和检索 - 数组不可变」,让你... 读完本文,可以去力扣解决如下题目:303. 区域和检索 - 数组不可变(中等)304. 二维区域和检索 - 矩阵不可变(中等)560. 和为K的子数组(中等)PS:这是两年前发布的 前缀和技巧:解决子数组问题,我优化并添加了很多内容,这里重新发一遍。前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。一维数组中的前缀和先看一道例题,力扣第 303 题「区域和检索 - 数组不可变」,让你...
- 双指针技巧在处理数组和链表相关问题时经常用到,主要分为两类:左右指针和快慢指针。所谓左右指针,就是两个指针相向而行或者相背而行;而所谓快慢指针,就是两个指针同向而行,一快一慢。对于单链表来说,大部分技巧都属于快慢指针,前文 单链表的六大解题套路 都涵盖了,比如链表环判断,倒数第K个链表节点等问题,它们都是通过一个fast快指针和一个slow慢指针配合完成任务。在数组中并没有真正意义上的指针,... 双指针技巧在处理数组和链表相关问题时经常用到,主要分为两类:左右指针和快慢指针。所谓左右指针,就是两个指针相向而行或者相背而行;而所谓快慢指针,就是两个指针同向而行,一快一慢。对于单链表来说,大部分技巧都属于快慢指针,前文 单链表的六大解题套路 都涵盖了,比如链表环判断,倒数第K个链表节点等问题,它们都是通过一个fast快指针和一个slow慢指针配合完成任务。在数组中并没有真正意义上的指针,...
- 今天聊聊如何判断一个链表是不是回文链表。之前有两篇文章写了回文串和回文序列相关的问题:经典面试题:最长回文子串子序列解题模板:最长回文子序列我们知道,寻找回文串的核心思想是从中心向两端扩展:string palindrome(string& s, int l, int r) { // 防止索引越界 while (l >= 0 && r < s.size() ... 今天聊聊如何判断一个链表是不是回文链表。之前有两篇文章写了回文串和回文序列相关的问题:经典面试题:最长回文子串子序列解题模板:最长回文子序列我们知道,寻找回文串的核心思想是从中心向两端扩展:string palindrome(string& s, int l, int r) { // 防止索引越界 while (l >= 0 && r < s.size() ...
- 本文要解决「K 个一组反转链表」,不难理解:这个问题经常在面经中看到,而且 LeetCode 上难度是 Hard,它真的有那么难吗?对于基本数据结构的算法问题其实都不难,只要结合特点一点点拆解分析,一般都没啥难点。下面我们就来拆解一下这个问题。一、分析问题首先,前文 学习数据结构的框架思维 提到过,链表是一种兼具递归和迭代性质的数据结构,认真思考一下可以发现这个问题具有递归性质。什么叫递归性... 本文要解决「K 个一组反转链表」,不难理解:这个问题经常在面经中看到,而且 LeetCode 上难度是 Hard,它真的有那么难吗?对于基本数据结构的算法问题其实都不难,只要结合特点一点点拆解分析,一般都没啥难点。下面我们就来拆解一下这个问题。一、分析问题首先,前文 学习数据结构的框架思维 提到过,链表是一种兼具递归和迭代性质的数据结构,认真思考一下可以发现这个问题具有递归性质。什么叫递归性...
- 本文就总结一下单链表的基本技巧,每个技巧都对应着至少一道算法题:1、合并两个有序链表2、合并k个有序链表3、寻找单链表的倒数第k个节点4、寻找单链表的中点5、判断单链表是否包含环并找出环起点6、判断两个单链表是否相交并找出交点这些解法都用到了双指针技巧,所以说对于单链表相关的题目,双指针的运用是非常广泛的,下面我们就来一个一个看。合并两个有序链表这是最基本的链表技巧,力扣第 21 题「合并两... 本文就总结一下单链表的基本技巧,每个技巧都对应着至少一道算法题:1、合并两个有序链表2、合并k个有序链表3、寻找单链表的倒数第k个节点4、寻找单链表的中点5、判断单链表是否包含环并找出环起点6、判断两个单链表是否相交并找出交点这些解法都用到了双指针技巧,所以说对于单链表相关的题目,双指针的运用是非常广泛的,下面我们就来一个一个看。合并两个有序链表这是最基本的链表技巧,力扣第 21 题「合并两...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签