自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode145. 二叉树的后序遍历(C++):迭代法深度解析(含误区 / 实例 / 多解法)

本文介绍了二叉树后序遍历的两种迭代解法。第一种是"前序逆序法",通过调整前序遍历的压栈顺序为根→右→左,再将结果反转得到后序遍历。第二种是"prev指针标记法",通过prev指针记录已处理节点,确保在右子树处理完毕后才访问根节点。两种方法的时间复杂度均为O(n),空间复杂度为O(h)。文章比较了两种方法的优缺点,指出前序逆序法简单但不够本质,而prev指针法更能体现后序遍历的特性。此外还讨论了后序遍历的应用场景,如资源释放和表达式求值,并建议从递归入手理解遍历逻辑。

2025-11-20 20:02:44 837

原创 LeetCode 1526. 形成目标数组的子数组最少增加次数(C++):差分思想详解(含实例 / 代码 / 应用场景)

对于数组a,其差分数组d本题的核心价值在于展示 “差分思想化繁为简” 的能力 —— 将复杂的区间操作模拟,转化为线性时间的数学计算。识别问题本质是 “区间增量的叠加”,适配差分思想;推导出差分数组非负元素和与最少操作次数的关联;实现高效的线性遍历计算。掌握差分思想后,可快速解决各类区间操作优化问题,其核心逻辑(区间操作转单点修改、差值分析)是算法学习中的重要基础技能。到此,本文就结束了,祝大家刷题顺利,思维越来越开阔!本文为个人解题经验分享,若存在逻辑疏漏或优化建议,欢迎评论区交流。

2025-10-31 19:52:19 564

原创 LeetCode496. 下一个更大元素 I(C++):哈希表 + 单调栈详解(含实例 / 代码 / 应用场景)

不要局限于 “暴力解决”,要从问题的 “本质特性” 出发,选择合适的数据结构组合优化。当遇到 “顺序依赖” 问题(如下一个更大元素、子序列极值),优先考虑单调栈;当遇到 “快速查询映射” 问题(如键值对应、结果缓存),优先考虑哈希表;两者结合时,需明确各自的职责:单调栈处理 “过程”,哈希表存储 “结果”,才能实现效率最大化。刷题的本质不是 “记住答案”,而是 “积累思维模式”—— 掌握 “哈希表 + 单调栈” 的协同逻辑后,再遇到类似问题,就能快速迁移思路,轻松应对。

2025-09-28 20:42:18 1635

原创 C++解决LeetCode第169题 | 摩根投票法

摩根投票法的精妙之处,在于它没有 “死磕”“统计次数” 的常规思路,而是从 “多数元素的本质特性” 出发,用 “抵消” 的思想简化问题。遇到问题时,先思考 “问题的核心特性是什么”(如多数元素的数量优势)再思考 “如何利用特性减少资源消耗”(如用抵消代替计数,降低空间复杂度)当然,其实在刷题的过程中做出来题目才是最重要的,在用该方法解决问题之前先试试用自己所掌握的知识来解答这个问题,然后再尝试优化,或者用更优的方法解决这个问题。不是解决难题才算成功,一天一个简单的题目也可以增强成就感以及编程的乐趣哦。

2025-08-19 18:29:45 2079

原创 C++解决字符串逆序问题 | 双指针 + 三次反转法解析

利用两次反转抵消了单词内部的字符反转通过idx指针实现原地覆盖写入,无需额外空间空格处理与单词写入同步完成,逻辑紧凑掌握这种「反转 + 双指针」的技巧,能有效解决各类字符串原地操作问题。到此,本文就结束了,祝阅读愉快^_^本文仅为个人拙见,不一定全部正确,甚至可能会有讲错的地方。如果我有讲错的地方,欢迎评论区分享!!!

2025-07-09 21:59:06 1422

空空如也

空空如也

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

TA关注的人

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