刷题顺序

核心学习建议(非常重要!)

  1. 理解优先于死记:不要死记硬背代码。理解每一行代码为什么这样写,算法的核心思想是什么。
  2. 调试是好朋友:学会使用printf进行调试,打印关键变量的值,跟踪程序执行流程。这是C语言程序员最重要的基本功之一。
  3. 注重基础语法:在简单题中巩固数组循环条件判断函数等基本语法。
  4. 画图分析:对于复杂一点的算法,拿纸笔画一画执行过程,思路会清晰很多。
  5. 坚持与复盘:每天坚持做1-2题,胜过周末一天做10题。定期回顾做错的题目。

第一阶段:入门基础(建立信心,熟悉语法)

这个阶段的目标是熟悉力扣的做题方式,并用C语言实现最基本的逻辑。题目几乎都不需要复杂算法。

题号 名称 考察点 难度 备注
LCP 01 猜数字 数组遍历、比较 🟢 简单 完美的开始
剑指 Offer 05 替换空格 字符串遍历 🟢 简单 学习处理字符串
1470 重新排列数组 数组下标操作 🟢 简单 很好的数组练习
1480 一维数组的动态和 数组、循环 🟢 简单 前缀和思想的雏形
1431 拥有最多糖果的孩子 数组遍历、找最大值 🟢 简单
1512 好数对的数目 双重循环 🟢 简单 经典的双重for循环
1672 最富有客户的资产总量 二维数组、循环嵌套 🟢 简单 学习处理二维数组
771 宝石与石头 字符串、哈希集合思想 🟢 简单 可以尝试用int数组模拟哈希表
1342 将数字变成 0 的操作次数 循环、位运算(可选) 🟢 简单 学习循环和条件判断

第二阶段:核心数据结构(承上启下)

开始接触最基础的数据结构和算法思想。链表是C语言的重点和难点,务必多花时间理解指针内存管理

题号 名称 考察点 难度 备注
剑指 Offer 06 从尾到头打印链表 链表、递归/栈 🟢 简单 学习链表遍历,可尝试递归
206 反转链表 链表、指针操作 🟢 简单 极其重要!必刷!
21 合并两个有序链表 链表、指针操作 🟢 简单 经典题,理解“哑节点”
83 删除排序链表中的重复元素 链表遍历、删除节点 🟢 简单 巩固链表操作
20 有效的括号 🟢 简单 经典栈应用,可用数组模拟栈
232 用栈实现队列 栈、队列 🟡 中等 学习数据结构的相互实现
144 二叉树的前序遍历 二叉树、递归 🟢 简单 树结构的入门,理解递归
104 二叉树的最大深度 二叉树、递归/DFS 🟢 简单 “分治”思想的入门
226 翻转二叉树 二叉树、递归 🟢 简单 经典递归问题

第三阶段:基础算法思想(挑战升级)

学习最基础的算法思想,如二分查找、双指针、简单动态规划。这些是解决更复杂问题的基石。

题号 名称 考察点 难度 备注
704 二分查找 二分算法 🟢 简单 算法基石,理解循环不变量
35 搜索插入位置 二分查找的变种 🟢 简单 巩固二分
278 第一个错误的版本 二分查找的变种 🟢 简单 巩固二分
283 移动零 双指针 🟢 简单 经典双指针,原地操作
977 有序数组的平方 双指针 🟢 简单 双指针的巧妙应用
70 爬楼梯 动态规划 🟢 简单 DP入门第一题,理解状态转移
53 最大子数组和 动态规划/贪心 🟡 中等 非常重要且经典
121 买卖股票的最佳时机 动态规划/贪心 🟢 简单 经典问题
118 杨辉三角 二维数组、动态规划思想 🟢 简单 找规律

第四阶段:进阶与巩固(综合运用)

尝试一些标签为“中等”的题目,它们通常需要组合运用多种知识。

题号 名称 考察点 难度
3 无重复字符的最长子串 滑动窗口、哈希表 🟡 中等
46 全排列 回溯算法 🟡 中等
102 二叉树的层序遍历 二叉树、BFS、队列 🟡 中等
94 二叉树的中序遍历 二叉树、递归/迭代 🟢 简单
19 删除链表的倒数第 N 个结点 链表、双指针(快慢指针) 🟡 中等
141 环形链表 链表、双指针(快慢指针) 🟢 简单

如何刷题?

  1. 5-15分钟独立思考:不看题解,先自己想。哪怕想不出来,思考的过程也极有价值。
  2. 写代码并调试:用C语言实现你的思路,并通过测试用例。printf大法好!
  3. 查看题解:如果卡住超过20分钟,果断看题解。重点理解别人的思路,而不是代码。
  4. 比较与反思:对比自己的代码和最优解,学习更优雅的写法。
  5. 默写与复盘:隔一天后,尝试默写最优解的代码,并讲出所以然。
posted @ 2025-08-26 15:45  四毛mao  阅读(15)  评论(0)    收藏  举报