Authored by Tony Feng
Created on May 16th, 2022
Last Modified on June 8th, 2022
Intro
It’s been a month since I started to practice coding on Leetcode. I selected “剑指Offer” from the question libarary and followed the given daily plan to practice, hoping to gain familiarity with the problem-solving patterns. After the first-round coding, it is still hard for me to digest all the knowledge points, and I found it necessary to review them to consolidate my coding skills. Therefore, I’ve created a table to record my daily review routine.
Table of Questions
There are 38 easy-level, 31 medium-level, 6 hard-level problems in the book.
| ID | Question | Level | Tags | Review Date | Count |
|---|---|---|---|---|---|
| 01 | 用两个栈实现队列 | Easy | Stack & Queue | 05-16-2022 | 1 |
| 02 | 包含min函数的栈 | Easy | Stack & Queue | 05-16-2022 | 2 |
| 03 | 从尾到头打印链表 | Easy | Linked List | 05-16-2022 | 1 |
| 04 | 反转链表 | Easy | Linked List | 05-17-2022 | 2 |
| 05 | 复杂链表的复制 | Medium | Linked List | 05-17-2022 | 2 |
| 06 | 替换空格 | Easy | String | 05-17-2022 | 1 |
| 07 | 左旋转字符串 II | Easy | String | 05-18-2022 | 1 |
| 08 | 数组中重复的数字 | Easy | Search | 05-18-2022 | 1 |
| 09 | 在排序数组中查找数字 I | Easy | Search | 05-18-2022 | 2 |
| 10 | 0~n-1中缺失的数字 | Easy | Search | 05-18-2022 | 2 |
| 11 | 二维数组中的查找 | Medium | Search | 05-19-2022 | 1 |
| 12 | 旋转数组的最小数字 | Easy | Search | 05-19-2022 | 1 |
| 13 | 第一个只出现一次的字符 | Easy | Search | 05-19-2022 | 1 |
| 14 | 从上到下打印二叉树 I | Medium | Tree/BFS | 05-20-2022 | 1 |
| 15 | 从上到下打印二叉树 II | Easy | Tree/BFS | 05-20-2022 | 1 |
| 16 | 从上到下打印二叉树 III | Medium | Tree/BFS | 05-20-2022 | 1 |
| 17 | 树的子结构 | Medium | Tree | 05-20-2022 | 2 |
| 18 | 二叉树的镜像 | Easy | Tree | 05-20-2022 | 1 |
| 19 | 对称的二叉树 | Easy | Tree | 05-20-2022 | 2 |
| 20 | 斐波那契数列 | Easy | DP | 05-21-2022 | 1 |
| 21 | 青蛙跳台阶问题 | Easy | DP | 05-21-2022 | 1 |
| 22 | 股票的最大利润 | Medium | DP | 05-21-2022 | 1 |
| 23 | 连续子数组的最大和 | Easy | DP | 05-21-2022 | 1 |
| 24 | 礼物的最大价值 | Medium | DP | 05-21-2022 | 1 |
| 25 | 最长不含重复字符的子串 | Medium | DP | 05-23-2022 | 2 |
| 26 | 把数字翻译成字符串 | Medium | DP | 05-23-2022 | 2 |
| 27 | 删除链表的节点 | Easy | Linked List | 05-22-2022 | 1 |
| 28 | 链表中倒数第k个节点 | Easy | Linked List | 05-23-2022 | 1 |
| 29 | 合并两个排序的链表 | Easy | Linked List | 05-23-2022 | 1 |
| 30 | 两个链表的第一个公共节点 | Easy | Linked List | 05-23-2022 | 2 |
| 31 | 根据奇偶性调整数组顺序 | Easy | Two Pointers | 05-23-2022 | 2 |
| 32 | 和为s的两个数字 | Easy | Two Pointers | 05-23-2022 | 2 |
| 33 | 翻转单词顺序 | Easy | String | 05-23-2022 | 1 |
| 34 | 机器人的运动范围 | Medium | BFS/DFS | 05-24-2022 | 1 |
| 35 | 矩阵中的路径 | Medium | DFS | 05-24-2022 | 2 |
| 36 | 二叉搜索树的第k大节点 | Easy | Tree | 05-24-2022 | 1 |
| 37 | 二叉树中和为某一值的路径 | Medium | Backtracking | 05-25-2022 | 1 |
| 38 | 二叉搜索树与双向链表 | Medium | Backtracking | 05-25-2022 | 2 |
| 39 | 扑克牌中的顺子 | Easy | Sort | 05-25-2022 | 1 |
| 40 | 把数组排成最小的数 | Medium | Sort | 05-25-2022 | 2 |
| 41 | 数据流中的中位数 | Hard | Heap | 05-26-2022 | 2 |
| 42 | 最小的k个数 | Easy | Sort | 05-26-2022 | 2 |
| 43 | 二叉树的深度 | Easy | Tree/Recursion | 05-26-2022 | 1 |
| 44 | 平衡二叉树 | Easy | Tree/Recursion | 05-26-2022 | 2 |
| 45 | 求1+2+…+n | Medium | Bit Operation | 05-27-2022 | 2 |
| 46 | 二叉搜索树的最近公共祖先 | Easy | Tree/Recursion | 05-27-2022 | 1 |
| 47 | 二叉树的最近公共祖先 | Easy | Tree/Recursion | 05-27-2022 | 1 |
| 48 | 重建二叉树 | Medium | Tree/Recursion | 05-28-2022 | 1 |
| 49 | 数值的整数次方 | Medium | Recursion | 05-28-2022 | 2 |
| 50 | 二叉搜索树的后序遍历序列 | Medium | Tree/Recursion | 05-28-2022 | 2 |
| 51 | 二进制中1的个数 | Easy | Bit Operation | 05-28-2022 | 2 |
| 52 | 不用加减乘除做加法 | Easy | Bit Operation | 05-28-2022 | 2 |
| 53 | 数组中数字出现的次数 I | Medium | Bit Operation | 05-29-2022 | 2 |
| 54 | 数组中数字出现的次数 II | Medium | Bit Operation | 05-29-2022 | 2 |
| 55 | 构建乘积数组 | Medium | Mathematics | 05-29-2022 | 1 |
| 56 | 数组中的众数 | Easy | Mathematics | 05-29-2022 | 2 |
| 57 | 剪绳子 I | Medium | Mathematics | 05-29-2022 | 2 |
| 58 | 和为s的连续正数序列 II | Easy | Mathematics | 05-30-2022 | 2 |
| 59 | 圆圈中最后剩下的数字 | Easy | Mathematics | 05-30-2022 | 2 |
| 60 | 顺时针打印矩阵 | Easy | Simulation | 05-30-2022 | 2 |
| 61 | 栈的压入、弹出序列 | Medium | Simulation | 05-30-2022 | 2 |
| 62 | 把字符串转换成整数 | Medium | String | 05-31-2022 | 2 |
| 63 | 表示数值的字符串 | Medium | String | 06-02-2022 | 2 |
| 64 | 滑动窗口的最大值 I | Hard | Stack & Queue | 06-03-2022 | 2 |
| 65 | 队列的最大值 II | Medium | Stack & Queue | 06-04-2022 | 2 |
| 66 | 序列化二叉树 | Hard | Backtracking | 06-05-2022 | 2 |
| 67 | 字符串的排列 | Medium | Backtracking | 06-05-2022 | 2 |
| 68 | 丑数 | Medium | DP | 06-06-2022 | 2 |
| 69 | 正则表达式匹配 | Hard | DP | 06-07-2022 | 2 |
| 70 | n个骰子的点数 | Medium | DP | 06-07-2022 | 2 |
| 71 | 打印从1到最大的n位数 | Easy | DFS | 06-07-2022 | 2 |
| 72 | 数组中的逆序对 | Hard | Recursion | 06-08-2022 | 2 |
| 73 | 剪绳子 II | Medium | Mathematics | 06-08-2022 | 2 |
| 74 | 1~n 整数中 1 出现的次数 | Hard | Mathematics | 06-08-2022 | 2 |
| 75 | 数字序列中某一位的数字 | Medium | Mathematics | 06-08-2022 | 2 |