自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法训练营第十五天:二叉树(3)

本文总结了二叉树相关算法题的解题思路和实现方法,主要包括: 完全二叉树节点计数 - 利用完全二叉树特性优化计算 平衡二叉树判断 - 通过递归计算子树高度差 二叉树所有路径 - 采用前序遍历和回溯法收集路径 左叶子节点求和 - 通过父节点判断左叶子特征 所有解法均采用递归思路,遵循递归三要素:确定参数/返回值、终止条件、单层逻辑。关键点在于理解二叉树特性,合理设计递归过程,并注意回溯处理。建议先理解思路再实现代码,逐步掌握二叉树问题的解题规律。

2026-02-03 22:12:54 312

原创 算法训练营第十四天:二叉树(2)

本文摘要:算法训练营内容涵盖二叉树翻转、对称判断及深度计算。226题通过递归、迭代和层序三种方式实现二叉树翻转;101题使用递归和栈迭代判断二叉树对称性,重点比较左右子树;104题采用递归后序和层序遍历计算最大深度。所有解法均在遍历基础上改进,递归代码简洁,层序更直观。核心在于掌握二叉树遍历技巧及其变形应用。

2026-02-02 19:55:24 351

原创 算法训练营第十三天:二叉树基础

本文摘要: 文章系统介绍了二叉树的遍历方法,包含理论基础、递归遍历和迭代遍历实现。重点讲解了二叉树的四种遍历方式(前序、中序、后序、层序),强调递归的三要素(参数/返回值、终止条件、单层逻辑)和迭代法中栈的应用。提供了C++代码实现,并比较了递归与迭代的优缺点。最后介绍了统一迭代法,通过标记法实现三种遍历的统一处理框架。文章适合算法学习者系统掌握二叉树遍历的核心概念和实现技巧。

2026-02-02 19:54:56 1138

原创 算法训练营第十一天:栈与队列经典算法实战

本文总结了算法训练营第十一天的内容,主要包含三个题目:逆波兰表达式求值、滑动窗口最大值和前K个高频元素。对于逆波兰表达式,重点讲解了后缀表达式的计算机运算模式及栈实现方法;滑动窗口最大值介绍了单调队列的实现思路;前K个高频元素则涉及优先队列和堆的应用。文中提供了C++代码实现,并强调了对关键概念的理解。最后作者表示已基本完成前两道题目,第三题仍需完善。

2026-01-24 22:52:54 568

原创 算法训练营第十天:栈与队列经典算法实战

本文总结了算法训练营中栈和队列的相关知识要点。主要内容包括:1) 栈和队列的理论基础,指出队列先进先出、栈先进后出的特性;2) 用栈实现队列和用队列实现栈的经典题目解法,重点讲解了"两个栈实现队列"的核心思路;3) 有效的括号匹配问题,强调要考虑各种错误情况;4) 删除字符串相邻重复项的两种实现方法。文章还提到KMP算法的难点在于理解next数组和回溯机制,需要反复练习才能掌握。

2026-01-23 21:51:31 596

原创 算法训练营第九天:字符串进阶

本文总结了字符串处理的三个经典算法问题。1. 翻转字符串中的单词(LeetCode 151):通过移除多余空格、整体反转和逐个单词反转三个步骤实现,重点在于双指针处理空格和反转操作。2. 右旋转字符串(卡码网55):通过三次反转实现字符串右旋,注意处理旋转长度边界。3. 实现strStr()(LeetCode 28):使用KMP算法优化字符串匹配,重点理解前缀表的构建和应用。文章提供了C++实现代码,并强调字符串处理在实际工作中的重要性,特别是双指针和KMP等技巧的灵活运用。

2026-01-22 22:37:31 1050

原创 算法训练营第八天:字符串反转与替换实战

摘要:本文总结了算法训练营第八天的学习内容,重点讲解了字符串反转相关的三个题目(344、541、54)。其中344题使用双指针法实现字符串反转,541题处理每2k字符反转前k个的特殊情况,54题则通过从后往前的方式替换字符串中的数字为"number"。文章强调了双指针技巧、边界条件处理以及空间优化的重要性,并提供了C++实现代码。

2026-01-21 22:33:42 845

原创 算法训练营第七天:哈希收尾,四数之和与赎金信实战

本文总结了算法训练营第七天的哈希表相关内容。重点讲解了四数相加II、赎金信、三数之和和四数之和等问题的解题思路。其中,三数之和强调去重和双指针优化,四数之和采用类似方法但需注意溢出问题。文章提供了C++实现代码,并建议根据数据特点选择数组、unordered_set或unordered_map等数据结构。

2026-01-21 22:30:29 286

原创 算法训练营第六天:哈希表入门

本文总结了哈希表的基础理论及四个典型应用案例。哈希表通过关键码直接访问数据,构造方法包括拉链法和线性探测法。

2026-01-19 20:00:00 495

原创 算法训练营第五天:数组与链表初步总结

本文总结了算法训练营第五天的学习内容,主要回顾了链表解题技巧和数组、链表数据结构。在链表方面,强调画图分析、利用头节点简化操作、注意边界条件等解题要点。数组部分介绍了vector和array的STL使用,包括初始化、常用操作及二者区别。链表部分着重理解节点连接关系,建议参考自定义链表实现。最后记录了5天的学习进度,已完成数组和链表相关题目练习。

2026-01-18 16:50:11 775

原创 算法训练营第四天:链表相关重点精讲

本文摘要总结了算法训练营第四天的链表相关题目解法要点: 两两交换链表节点时需注意循环起始位置,通过新建头节点统一操作,确保不丢失节点地址; 删除倒数第N个节点推荐双指针法,快指针先走N+1步,需注意边界检查; 链表相交问题需先对齐链表尾部,再同步遍历比较节点地址; 环形链表检测使用快慢指针,相遇后重置指针可找到环入口。 关键技巧包括: 链表操作优先考虑虚拟头节点 增删节点需通过前驱节点操作 双指针法适用于倒数节点和环形检测 所有解法都强调指针操作的顺序和边界条件检查

2026-01-17 17:00:10 1480

原创 算法训练营第三天:链表实战与技巧解析

本文总结了算法训练营第三天的链表学习内容,包括链表理论基础和三个经典题目。首先介绍了链表的定义、类型和操作特点,强调链表操作中需要注意野指针问题。然后详细讲解了203题移除链表元素的三种解法:原链表操作、新建头节点法和递归法,推荐使用新建头节点方法。707题设计链表是实现链表基本操作的最佳练习题,强调动手实践的重要性。206题反转链表将在后续讲解。全文重点在于掌握链表的基本操作技巧,特别是使用虚拟头节点简化操作流程,并通过实际编码加深理解。

2026-01-16 22:26:34 1329

原创 算法训练营第二天:滑动窗口与螺旋矩阵实战

二分法和双指针。主要是提供思路,就像一种功法套路,学到之后还是要像张三丰教无忌一样,融会贯通到忘掉具体招式,保留思想。

2026-01-15 21:44:51 1061

原创 算法训练营首日:二分查找与双指针实战

可以类比学习一下,使用 std::remove 搭配 std::erase 实现删除元素。

2026-01-14 20:33:08 621

空空如也

空空如也

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

TA关注的人

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