
剑指offer刷题记录
二叉树镜像生成:递归思想处理左右子树,确保镜像效果。 顺时针打印矩阵:两次三重循环处理子矩阵,保持清晰的逻辑。 字符串排列:分区策略,逐字符分析,保持效率。 漂亮数生成:分步维护三个指针,确保每个数进入队列。 逆序对计算:适合合并排序优化。
发布日期:2021-05-28 16:52:44
浏览次数:33
分类:精选文章
本文共 1369 字,大约阅读时间需要 4 分钟。
剑指offer刷题记录总结
从2019年9月10日起,我开始了对剑指offer系列题目的系统性挑战。这一段时间,我不仅复习了大量编程知识,还积累了丰富的实践经验。本次刷题记录将从P01到P67,涵盖了链表、栈、队列、二叉搜索树、二叉树遍历、数学问题、动态规划等多个核心领域的练习。
刷题总览
刷题时间线
- 2019.9.10-2019.9.13:奋力攻克基础题(P01-P07)和递归算法(P08-P11)
- 2019.9.14-2019.9.16:深入理解动态规划、数组操作(P20-P32)和字符串处理(P33-P36)
- 2019.9.17-2019.9.21:忙于服务器搭建与个人主页维护,暂时未刷题
- 2019.9.22-2019.9.28:系统性攻略难题(P35-P67),完成了具代表性的剑指offer挑战
这次刷题经历让我对许多经典题型有了更深刻的理解,同时也意识到有许多地方需要持续巩固。
每日刷题记录
第1天:P01-P03基础题解析
- P01:二维数组查找思路:采用分区查找策略,由左上角或右上角开始,类似的常规问题。
- P02:替换空格思路:从后往前遍历替换,避免移动,保证时间复杂度为O(n)。
- P03:链表逆序打印不建议反转链表,直接逆序遍历添加到vector中,层序问题常用队列。
第2天:P04-P07深入理解基础知识
- P04:重建二叉树思路:递归构建,复习后确需回顾具体实现细节。
- P05:两个栈实现队列思路:push到stack1,pop时将stack1内容到stack2,并pop顶元素。
- P06:旋转数组最小值思路:双指针法,确保避免顺序遍历,时间复杂度可达O(n)。
- P07:斐波那契数列生成思路:快速递归或非递归方法生成数列,避免重复计算。
第3天:P08-P11拓展算法
- P08:跳台阶思路:递归方法优化为O(n)时间复杂度。
- P09:变态跳台阶思路:数学归纳法计算跳法数目,需巩固公式推导。
- P10:矩形覆盖思路:遵循斐波那契规律,F(n) = F(n-1) + F(n-2)。
- P11:二进制1的个数思路:三种实用方法,效果各有千秋。
第4天:P12-P17专项题型复习
- P12:整数次方计算思路:绝对值处理和符号判断,避免溢出问题。
- P13:数组顺序调整思路:双指针、排序或组合法完成任务。
- P14:链表倒数k结点思路:双指针遍历,先走k步然后同步。
- P15:链表反转常见题目,需重点复习。
- P16:合并有序链表思路:构建新链表,采用逐个插入方法。
- P17:树的子结构识别思路:分为两部分检查,需要巩固树的查找算法。
拉伸学习与拓展
剩余准备
总体来看,这次刷完剑指offer有助于对编程算法的全面性认识,但我也意识到许多细节需要进一步优化。例如,经典的链表题型、树的遍历题以及动态规划的应用还需要反复练习。
接下来,我将开始刷LeetCode等国际级编程挑战,同时结合专业课 Frm框架学习,以实现理论与实践的全面提升。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月19日 05时57分30秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【专题3:电子工程师 之 上位机】 之 【46.QT音频接口】
2019-03-09
一文理解设计模式--命令模式(Command)
2019-03-09
VTK:可视化之RandomProbe
2019-03-09
block多队列分析 - 2. block多队列的初始化
2019-03-09
Java时间
2019-03-09
不编译只打包system或者vendor image命令
2019-03-09
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
2019-03-09
flink启动(二)
2019-03-09
pair的用法
2019-03-09
Flex 布局的自适应子项内容过长导致其被撑大问题
2019-03-09
PL/SQL 动态Sql拼接where条件
2019-03-09
Lua-table 一种更少访问的安全取值方式
2019-03-09
虚函数
2019-03-09
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2019-03-09
【换行符】什么时候用cin.get()吃掉输入流中的换行符
2019-03-09
【二叉树】已知后序与中序求先序
2019-03-09
广东外语外贸大学第三届网络安全大赛Writeup
2019-03-09
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2019-03-10
Thymeleaf sec:authorize 标签不生效
2019-03-11