/Blog

Welcome to lee's blog.

Lee Chen 的博客

进度

JavaScript探秘系列 更新中,已发布 10 篇。

Vue3 探秘系列 更新中,已发布 1 篇。

LeetCode 题解系列 更新中,已发布 286 篇。

Vue 入门系列 25 篇,已完结。

微信小程序入门系列 4 篇,已完结。

React Native 入门系列 2 篇,已完结。

Node.js 入门系列 30 篇,已完结。

Express 入门系列 6 篇,已完结。

rc-form 源码解读 1 篇,已完结。

怎样成为快速阅读的高手 3 篇,已完结。

如何成为有效学习的高手 8 篇,已完结。

如何设计一个优秀的组件 1 篇,已完结。

零碎的记录系列 更新中,已发布 1 篇。

所思所想系列 更新中,已发布 8 篇。

专栏

JavaScript探秘

  1. JavaScript 对象遍历为什么要使用 hasOwnProperty 检查属性
  2. 深入理解shims-vue.d.ts和declare module
  3. 深入理解 TypeScript 的 type 以及 type 与 interface 和 class 的区别
  4. 虚拟模块在前端开发中的应用与示例
  5. 理解并实现自动导入(Auto Import)功能的原理
  6. .bind()、.call()、.apply()的区别
  7. 在HTML里,attribute和property有什么区别?
  8. HTMLCollection 和 NodeList: 了解 DOM 的集合
  9. JavaScript中的浮点数之谜:为什么0.1 + 0.2 不等于 0.3?
  10. 标签的区别

Vue3探秘

  1. 为什么从 props 中解构变量之后再watch它,无法检测到它的变化?

LeetCode 题解系列

  1. LeetCode 题解:15. 三数之和,JavaScript 双循环+HashMap,详细注释
  2. LeetCode 题解:15. 三数之和,JavaScript 双循环+双指针,详细注释
  3. LeetCode 题解:141. 环形链表,JavaScript HashMap,详细注释
  4. LeetCode 题解:141. 环形链表,JavaScript,快慢指针,详细注释
  5. LeetCode 题解:1051. 高度检查器,JavaScript,桶排序,详细注释
  6. LeetCode 题解:1051. 高度检查器,JavaScript,先排序再比较,详细注释
  7. LeetCode 题解:122. 买卖股票的最佳时机 II,JavaScript,一遍循环,详细注释
  8. LeetCode 题解:283. 移动零,JavaScript,一次遍历,详细注释
  9. LeetCode 题解:1. 两数之和,JavaScript,HashMap,详细注释
  10. LeetCode 题解:1. 两数之和,JavaScript,双循环暴力解法,详细注释
  11. LeetCode 题解:206. 反转链表,JavaScript,While 循环迭代,详细注释
  12. LeetCode 题解: 206. 反转链表,JavaScript,容易理解的递归解释,附详细注释
  13. LeetCode 题解:142. 环形链表 II,JavaScript,HashMap,详细注释
  14. LeetCode 题解:142. 环形链表 II,JavaScript,快慢指针,详细注释
  15. LeetCode 题解:189. 旋转数组,JavaScript,暴力法,详细注释
  16. LeetCode 题解:189. 旋转数组,pop+unshift 一行,JavaScript,详细注释
  17. LeetCode 题解:189. 旋转数组,使用新数组 Copy,JavaScript,详细注释
  18. LeetCode 题解:70. 爬楼梯,递归+哈希表,JavaScript,详细注释
  19. LeetCode 题解:70. 爬楼梯,DP 遍历数组,JavaScript,详细注释
  20. LeetCode 题解:70. 爬楼梯,DP 遍历,变量缓存结果,JavaScript,详细注释
  21. LeetCode 题解:189. 旋转数组,3 次翻转,JavaScript,详细注释
  22. LeetCode 题解:189. 旋转数组,环状替换,JavaScript,详细注释
  23. LeetCode 题解:24. 两两交换链表中的节点,迭代,JavaScript,详细注释
  24. LeetCode 题解:24. 两两交换链表中的节点,递归,JavaScript,详细注释
  25. LeetCode 题解:21. 合并两个有序链表,利用数组排序,JavaScript,详细注释
  26. LeetCode 题解:21. 合并两个有序链表,迭代,JavaScript,详细注释
  27. LeetCode 题解:21. 合并两个有序链表,递归,JavaScript,详细注释
  28. LeetCode 题解:21. 合并两个有序链表,迭代(优化),JavaScript,详细注释
  29. LeetCode 题解:88. 合并两个有序数组,双指针+从前往后+使用新数组 Copy,JavaScript,详细注释
  30. LeetCode 题解:88. 合并两个有序数组,for 循环合并数组+sort 排序,JavaScript,详细注释
  31. LeetCode 题解:88. 合并两个有序数组,splice 合并数组+sort 排序,JavaScript,详细注释
  32. LeetCode 题解:88. 合并两个有序数组,双指针遍历+从前往后,JavaScript,详细注释
  33. LeetCode 题解:88. 合并两个有序数组,双指针+从后往前,JavaScript,详细注释
  34. LeetCode 题解:66. 加一,新数组求和再翻转,JavaScript,详细注释
  35. LeetCode 题解:66. 加一,倒序遍历+可中途退出,JavaScript,详细注释
  36. LeetCode 题解:11. 盛最多水的容器,双循环暴力法,JavaScript,详细注释
  37. LeetCode 题解:11. 盛最多水的容器,while 循环双指针,JavaScript,详细注释
  38. LeetCode 题解:11. 盛最多水的容器,for 循环双指针,JavaScript,详细注释
  39. LeetCode 题解:25. K 个一组翻转链表,迭代,JavaScript,详细注释
  40. LeetCode 题解:26. 删除排序数组中的重复项,双指针,JavaScript,详细注释
  41. LeetCode 题解:20. 有效的括号,for 循环 replace,JavaScript,详细注释
  42. LeetCode 题解:20. 有效的括号,while 循环 replace,JavaScript,详细注释
  43. LeetCode 题解:20. 有效的括号,栈,JavaScript,详细注释
  44. LeetCode 题解:155.最小栈,使用两个栈,详细注释
  45. LeetCode 题解:155. 最小栈,单个栈+对象存储,JavaScript,详细注释
  46. LeetCode 题解:155. 最小栈,单个栈同时存储最小值,JavaScript,详细注释
  47. LeetCode 题解:155. 最小栈,单个栈存储入栈元素与最小值之差,JavaScript,详细注释
  48. LeetCode 题解:155. 最小栈,使用链表代替栈,JavaScript,详细注释
  49. LeetCode 题解:84. 柱状图中最大的矩形,双循环暴力,JavaScript,详细注释
  50. LeetCode 题解:84. 柱状图中最大的矩形,循环+双指针暴力,JavaScript,详细注释
  51. LeetCode 题解:239. 滑动窗口最大值,双循环暴力,JavaScript,详细注释
  52. LeetCode 题解:239. 滑动窗口最大值,单调队列,JavaScript,详细注释
  53. LeetCode 题解:225. 用队列实现栈,两个队列, 压入 - O(n), 弹出 - O(1),JavaScript,详细注释
  54. LeetCode 题解:225. 用队列实现栈,两个队列,压入 -O(1), 弹出 -O(n),JavaScript,详细注释
  55. LeetCode 题解:225. 用队列实现栈,一个队列, 压入 - O(n), 弹出 - O(1),JavaScript,详细注释
  56. LeetCode 题解:232. 用栈实现队列,使用两个栈 入队 - O(1), 出队 - O(n),JavaScript,详细注释
  57. LeetCode 题解:232. 用栈实现队列,使用两个栈 入队 - O(1),出队 - 摊还复杂度 O(1),JavaScript,详细注释
  58. LeetCode 题解:232. 用栈实现队列,使用两个栈 入队 - O(n), 出队 - O(1),JavaScript,详细注释
  59. LeetCode 题解:1. 两数之和,Map+队列+双指针,JavaScript,详细注释
  60. LeetCode 题解:206. 反转链表,双指针,JavaScript,详细注释
  61. LeetCode 题解:622. 设计循环队列,使用数组,JavaScript,详细注释
  62. LeetCode 题解:622. 设计循环队列,使用双向链表,JavaScript,详细注释
  63. LeetCode 题解:84. 柱状图中最大的矩形,使用栈,JavaScript,详细注释
  64. LeetCode 题解:66. 加一,BigInt,JavaScript,详细注释
  65. LeetCode 题解:94. 二叉树的中序遍历,递归,JavaScript,详细注释
  66. LeetCode 题解:144. 二叉树的前序遍历,递归,JavaScript,详细注释
  67. LeetCode 题解:145. 二叉树的后序遍历,递归,JavaScript,详细注释
  68. LeetCode 题解:83. 删除排序链表中的重复元素,迭代,JavaScript,详细注释
  69. LeetCode 题解:83. 删除排序链表中的重复元素,递归,JavaScript,详细注释
  70. LeetCode 题解:590. N 叉树的后序遍历,递归,JavaScript,详细注释
  71. LeetCode 题解:589. N 叉树的前序遍历,递归,JavaScript,详细注释
  72. LeetCode 题解:641. 设计循环双端队列,使用队列,JavaScript,详细注释
  73. LeetCode 题解:641. 设计循环双端队列,使用双向链表,JavaScript,详细注释
  74. LeetCode 题解:242. 有效的字母异位词,数组排序,JavaScript,详细注释
  75. LeetCode 题解:242. 有效的字母异位词,哈希表一次循环,JavaScript,详细注释
  76. LeetCode 题解:242. 有效的字母异位词,哈希表两次循环,JavaScript,详细注释
  77. LeetCode 题解:242. 有效的字母异位词,数组计数,JavaScript,详细注释
  78. LeetCode 题解:49. 字母异位词分组,数组排序,JavaScript,详细注释
  79. LeetCode 题解:49. 字母异位词分组,数组计数+哈希表,JavaScript,详细注释
  80. LeetCode 题解:102. 二叉树的层序遍历,递归,JavaScript,详细注释
  81. LeetCode 题解:429. N 叉树的层序遍历,递归,JavaScript,详细注释
  82. LeetCode 题解:226. 翻转二叉树,递归,JavaScript,详细注释
  83. LeetCode 题解:111. 二叉树的最小深度,递归,JavaScript,详细注释
  84. LeetCode 题解:104. 二叉树的最大深度,递归,JavaScript,详细注释
  85. LeetCode 题解:144. 二叉树的前序遍历,使用栈,JavaScript,详细注释
  86. LeetCode 题解:94. 二叉树的中序遍历,使用栈,JavaScript,详细注释
  87. LeetCode 题解:83. 删除排序链表中的重复元素,HashMap,JavaScript,详细注释
  88. LeetCode 题解:589. N 叉树的前序遍历,栈,JavaScript,详细注释
  89. LeetCode 题解:590. N 叉树的后序遍历,栈,JavaScript,详细注释
  90. LeetCode 题解:22. 括号生成,递归先生成再过滤,JavaScript,详细注释
  91. LeetCode 题解:22. 括号生成,递归生成同时过滤,JavaScript,详细注释
  92. LeetCode 题解:98. 验证二叉搜索树,递归,JavaScript,详细注释
  93. LeetCode 题解:98. 验证二叉搜索树,使用栈中序遍历,JavaScript,详细注释
  94. LeetCode 题解:98. 验证二叉搜索树,递归中序遍历完成后再判断,JavaScript,详细注释
  95. LeetCode 题解:98. 验证二叉搜索树,递归中序遍历过程中判断,JavaScript,详细注释
  96. LeetCode 题解:50. Pow(x, n),暴力法,JavaScript,详细注释
  97. LeetCode 题解:50. Pow(x, n),递归分治,JavaScript,详细注释
  98. LeetCode 题解:50. Pow(x, n),迭代分治,JavaScript,详细注释
  99. LeetCode 题解:46. 全排列,回溯,JavaScript,详细注释
  100. LeetCode 题解:47. 全排列 II,回溯,JavaScript,详细注释
  101. LeetCode 题解:78. 子集,递归回溯,JavaScript,详细注释
  102. LeetCode 题解:78. 子集,迭代+位运算,JavaScript,详细注释
  103. LeetCode 题解:78. 子集,递归+for 循环+回溯,JavaScript,详细注释
  104. LeetCode 题解:78. 子集,迭代,JavaScript,详细注释
  105. LeetCode 题解:90. 子集 II,回溯+哈希表去重,JavaScript,详细注释
  106. LeetCode 题解:90. 子集 II,递归+for 循环+回溯,JavaScript,详细注释
  107. LeetCode 题解:90. 子集 II,迭代+位运算,JavaScript,详细注释
  108. LeetCode 题解:90. 子集 II,迭代,JavaScript,详细注释
  109. LeetCode 题解:231. 2 的幂,迭代,JavaScript,详细注释
  110. LeetCode 题解:231. 2 的幂,递归,JavaScript,详细注释
  111. LeetCode 题解:231. 2 的幂,位运算取二进制中最右边的 1,JavaScript,详细注释
  112. LeetCode 题解:77. 组合,回溯+for 循环,JavaScript,详细注释
  113. LeetCode 题解:77. 组合,递归回溯,JavaScript,详细注释
  114. LeetCode 题解:剑指 Offer 22. 链表中倒数第 k 个节点,使用数组,JavaScript,详细注释
  115. LeetCode 题解:剑指 Offer 22. 链表中倒数第 k 个节点,双指针,JavaScript,详细注释
  116. LeetCode 题解:剑指 Offer 22. 链表中倒数第 k 个节点,使用栈,JavaScript,详细注释
  117. LeetCode 题解:剑指 Offer 22. 链表中倒数第 k 个节点,递归,JavaScript,详细注释
  118. LeetCode 题解:169. 多数元素,哈希表,JavaScript,详细注释
  119. LeetCode 题解:169. 多数元素,排序,JavaScript,详细注释
  120. LeetCode 题解:169. 多数元素,分治,JavaScript,详细注释
  121. LeetCode 题解:17. 电话号码的字母组合,队列,JavaScript,详细注释
  122. LeetCode 题解:860. 柠檬水找零,模拟情境,JavaScript,详细注释
  123. LeetCode 题解:121. 买卖股票的最佳时机,一次遍历,JavaScript,详细注释
  124. LeetCode 题解:121. 买卖股票的最佳时机,暴力法,JavaScript,详细注释
  125. LeetCode 题解:455. 分发饼干,贪心 for 循环,JavaScript,详细注释
  126. LeetCode 题解:455. 分发饼干,贪心 while 循环,JavaScript,详细注释
  127. LeetCode 题解:51. N 皇后,回溯+哈希表,JavaScript,详细注释
  128. LeetCode 题解:52. N 皇后 II,回溯+哈希表,JavaScript,详细注释
  129. LeetCode 题解:874. 模拟行走机器人,模拟情境,JavaScript,详细注释
  130. LeetCode 题解:55. 跳跃游戏,贪心,JavaScript,详细注释
  131. LeetCode 题解:45. 跳跃游戏 II,贪心正向查找,JavaScript,详细注释
  132. LeetCode 题解:45. 跳跃游戏 II,贪心从后向前,JavaScript,详细注释
  133. LeetCode 题解:102. 二叉树的层序遍历,BFS,JavaScript,详细注释
  134. LeetCode 题解:515. 在每个树行中找最大值,BFS,JavaScript,详细注释
  135. LeetCode 题解:515. 在每个树行中找最大值,DFS,JavaScript,详细注释
  136. LeetCode 题解:22. 括号生成,BFS,JavaScript,详细注释
  137. LeetCode 题解:433. 最小基因变化,DFS,JavaScript,详细注释
  138. LeetCode 题解:433. 最小基因变化,BFS,JavaScript,详细注释
  139. LeetCode 题解:429. N 叉树的层序遍历,BFS,JavaScript,详细注释
  140. LeetCode 题解:127. 单词接龙,BFS+统计单词变化次数,JavaScript,详细注释
  141. LeetCode 题解:127. 单词接龙,BFS+生成所有可能新单词再匹配,JavaScript,详细注释
  142. LeetCode 题解:127. 单词接龙,双向 BFS,JavaScript,详细注释
  143. LeetCode 题解:18. 四数之和,哈希表,JavaScript,详细注释
  144. LeetCode 题解:18. 四数之和,双指针,JavaScript,详细注释
  145. LeetCode 题解:92. 反转链表 II,递归,JavaScript,详细注释
  146. LeetCode 题解:55. 跳跃游戏,贪心,JavaScript,详细注释
  147. LeetCode 题解:42. 接雨水,暴力法,JavaScript,详细注释
  148. LeetCode 题解:42. 接雨水,动态规划,JavaScript,详细注释
  149. LeetCode 题解:42. 接雨水,双指针,JavaScript,详细注释
  150. LeetCode 题解:42. 接雨水,栈,JavaScript,详细注释
  151. LeetCode 题解:剑指 Offer 40. 最小的 k 个数,sort,JavaScript,详细注释
  152. LeetCode 题解:剑指 Offer 40. 最小的 k 个数,快速排序,JavaScript,详细注释
  153. LeetCode 题解:剑指 Offer 40. 最小的 k 个数,二叉堆,JavaScript,详细注释
  154. LeetCode 题解:239. 滑动窗口最大值,二叉堆,JavaScript,详细注释
  155. LeetCode 题解:347. 前 K 个高频元素,二叉堆,JavaScript,详细注释
  156. LeetCode 题解:264. 丑数 II,暴力法,JavaScript,详细注释
  157. LeetCode 题解:264. 丑数 II,二叉堆,JavaScript,详细注释
  158. LeetCode 题解:264. 丑数 II,三指针,JavaScript,详细注释
  159. LeetCode 题解:347. 前 K 个高频元素,快速排序,JavaScript,详细注释
  160. LeetCode 题解:104. 二叉树的最大深度,BFS,JavaScript,详细注释
  161. LeetCode 题解:111. 二叉树的最小深度,BFS,JavaScript,详细注释
  162. LeetCode 题解:17. 电话号码的字母组合,BFS,JavaScript,详细注释
  163. LeetCode 题解:236. 二叉树的最近公共祖先,递归,JavaScript,详细注释
  164. LeetCode 题解:236. 二叉树的最近公共祖先,存储父节点,JavaScript,详细注释
  165. LeetCode 题解:105. 从前序与中序遍历序列构造二叉树,递归+数组切割,JavaScript,详细注释
  166. LeetCode 题解:105. 从前序与中序遍历序列构造二叉树,递归+使用索引,JavaScript,详细注释
  167. LeetCode 题解:105. 从前序与中序遍历序列构造二叉树,递归+哈希表,JavaScript,详细注释
  168. LeetCode 题解:105. 从前序与中序遍历序列构造二叉树,Simple O(n) without map,JavaScript,详细注释
  169. LeetCode 题解:389. 找不同,ASCII 码求和,JavaScript,详细注释
  170. LeetCode 题解:389. 找不同,位运算,JavaScript,详细注释
  171. LeetCode 题解:200. 岛屿数量,DFS,JavaScript,详细注释
  172. LeetCode 题解:433. 最小基因变化,BFS+生成所有可能新基因再匹配,JavaScript,详细注释
  173. LeetCode 题解:433. 最小基因变化,双向 BFS(beats 99%),JavaScript,详细注释
  174. LeetCode 题解:69. x 的平方根,二分查找,JavaScript,详细注释
  175. LeetCode 题解:69. x 的平方根,牛顿迭代法+迭代,JavaScript,详细注释
  176. LeetCode 题解:69. x 的平方根,牛顿迭代法+递归,JavaScript,详细注释
  177. LeetCode 题解:529. 扫雷游戏,DFS,JavaScript,详细注释
  178. LeetCode 题解:529. 扫雷游戏,BFS,JavaScript,详细注释
  179. LeetCode 题解:33. 搜索旋转排序数组,二分查找,JavaScript,详细注释
  180. LeetCode 题解:74. 搜索二维矩阵,二分查找,JavaScript,详细注释
  181. LeetCode 题解:153. 寻找旋转排序数组中的最小值,二分查找,JavaScript,详细注释
  182. LeetCode 题解:297. 二叉树的序列化与反序列化,DFS,JavaScript,详细注释
  183. LeetCode 题解:297. 二叉树的序列化与反序列化,BFS,JavaScript,详细注释
  184. LeetCode 题解:62. 不同路径,动态规划,JavaScript,详细注释
  185. LeetCode 题解:1091. 二进制矩阵中的最短路径,BFS,JavaScript,详细注释
  186. LeetCode 题解:63. 不同路径 II,动态规划,JavaScript,详细注释
  187. LeetCode 题解:1143. 最长公共子序列,动态规划,JavaScript,详细注释
  188. LeetCode 题解:53. 最大子序和,动态规划,JavaScript,详细注释
  189. LeetCode题解:198. 打家劫舍,动态规划(缓存偷盗状态),JavaScript,详细注释
  190. LeetCode题解:213. 打家劫舍 II,动态规划(缓存偷盗状态),JavaScript,详细注释
  191. LeetCode题解:322. 零钱兑换,动态规划,JavaScript,详细注释
  192. LeetCode题解:152. 乘积最大子数组,动态规划,JavaScript,详细注释
  193. LeetCode题解:718. 最长重复子数组,动态规划,JavaScript,详细注释
  194. LeetCode题解:120. 三角形最小路径和,动态规划(从上到下),JavaScript,详细注释
  195. LeetCode题解:121. 买卖股票的最佳时机,JavaScript,动态规划,详细注释
  196. LeetCode题解:122. 买卖股票的最佳时机 II,动态规划,JavaScript,详细注释
  197. LeetCode题解:123. 买卖股票的最佳时机 III,动态规划,JavaScript,详细注释
  198. LeetCode题解:188. 买卖股票的最佳时机 IV,动态规划,JavaScript,详细注释
  199. LeetCode题解:190. 颠倒二进制位,使用遮罩,JavaScript,详细注释
  200. LeetCode题解:190. 颠倒二进制位,移动n,JavaScript,详细注释
  201. LeetCode题解:309. 最佳买卖股票时机含冷冻期,动态规划,JavaScript,详细注释
  202. LeetCode题解:714. 买卖股票的最佳时机含手续费,动态规划,JavaScript,详细注释
  203. LeetCode题解:279. 完全平方数,动态规划,JavaScript,详细注释
  204. LeetCode题解:518. 零钱兑换 II,动态规划,JavaScript,详细注释
  205. LeetCode题解:125. 验证回文串,翻转数组,JavaScript,详细注释
  206. LeetCode题解:125. 验证回文串,双指针,JavaScript,详细注释
  207. LeetCode题解:64. 最小路径和,动态规划,JavaScript,详细注释
  208. LeetCode题解:91. 解码方法,动态规划,JavaScript,详细注释
  209. LeetCode题解:91. 解码方法,动态规划(优化),JavaScript,详细注释
  210. LeetCode题解:221. 最大正方形,动态规划,JavaScript,详细注释
  211. LeetCode题解:647. 回文子串,动态规划,JavaScript,详细注释
  212. LeetCode题解:213. 打家劫舍 II,动态规划(不缓存偷盗状态),JavaScript,详细注释
  213. LeetCode题解:198. 打家劫舍,动态规划(不缓存偷盗状态),JavaScript,详细注释
  214. LeetCode题解:126. 单词接龙 II,BFS,JavaScript,详细注释
  215. LeetCode题解:92. 反转链表 II,迭代,JavaScript,详细注释
  216. LeetCode题解:剑指 Offer 49. 丑数,暴力法,JavaScript,详细注释
  217. LeetCode题解:剑指 Offer 49. 丑数,二叉堆,JavaScript,详细注释
  218. LeetCode题解:剑指 Offer 49. 丑数,三指针,JavaScript,详细注释
  219. LeetCode题解:17. 电话号码的字母组合,回溯,JavaScript,详细注释
  220. LeetCode题解:145. 二叉树的后序遍历,栈,JavaScript,详细注释
  221. LeetCode题解:641. 设计循环双端队列,使用数组,JavaScript,详细注释
  222. LeetCode题解:73. 矩阵置零,栈,JavaScript,详细注释
  223. LeetCode题解:151. 翻转字符串里的单词,数组,JavaScript,详细注释
  224. LeetCode题解:151. 翻转字符串里的单词,栈,JavaScript,详细注释
  225. LeetCode题解:191. 位1的个数,位运算,JavaScript,详细注释
  226. LeetCode题解:150. 逆波兰表达式求值,栈,JavaScript,详细注释
  227. LeetCode题解:341. 扁平化嵌套列表迭代器,DFS,JavaScript,详细注释
  228. LeetCode题解:456. 132 模式,n平方暴力,JavaScript,详细注释
  229. LeetCode题解:61. 旋转链表,闭合为环,JavaScript,详细注释
  230. LeetCode题解:61. 旋转链表,双指针,JavaScript,详细注释
  231. LeetCode题解:173. 二叉搜索树迭代器,递归,JavaScript,详细注释
  232. LeetCode题解:173. 二叉搜索树迭代器,栈,JavaScript,详细注释
  233. LeetCode题解:80. 删除有序数组中的重复项 II,JavaScript,详细注释
  234. LeetCode题解:781. 森林中的兔子,贪心,JavaScript,详细注释
  235. LeetCode题解:783. 二叉搜索树节点最小距离,递归,JavaScript,详细注释
  236. LeetCode题解:208. 实现 Trie (前缀树),对象,JavaScript,详细注释
  237. LeetCode题解:220. 存在重复元素 III,暴力法,JavaScript,详细注释
  238. LeetCode题解:217. 存在重复元素,哈希表,JavaScript,详细注释
  239. LeetCode题解:219. 存在重复元素 II,哈希表,JavaScript,详细注释
  240. LeetCode题解:27. 移除元素,JavaScript,详细注释
  241. LeetCode题解:2. 两数相加,迭代,JavaScript,详细注释
  242. LeetCode题解:28. 实现 strStr(),暴力法,JavaScript,详细注释
  243. LeetCode题解:143. 重排链表,数组,JavaScript,详细注释
  244. LeetCode题解:897. 递增顺序搜索树,递归,JavaScript,详细注释
  245. LeetCode题解:897. 递增顺序搜索树,栈,JavaScript,详细注释
  246. LeetCode题解:783. 二叉搜索树节点最小距离,栈,JavaScript,详细注释
  247. LeetCode题解:938. 二叉搜索树的范围和,递归,JavaScript,详细注释
  248. LeetCode题解:938. 二叉搜索树的范围和,栈,JavaScript,详细注释
  249. LeetCode题解:938. 二叉搜索树的范围和,DFS,详细注释
  250. LeetCode题解:1237. 找出给定方程的正整数解,枚举,详细注释
  251. LeetCode题解:1237. 找出给定方程的正整数解,二分查找,详细注释
  252. LeetCode题解:1237. 找出给定方程的正整数解,双指针,详细注释
  253. LeetCode:240. 搜索二维矩阵 II,直接查找,详细注释
  254. LeetCode:240. 搜索二维矩阵 II,二分查找,详细注释
  255. LeetCode题解:2347. 最好的扑克手牌,哈希表,详细注释
  256. LeetCode题解:938. 二叉搜索树的范围和,BFS,JavaScript,详细注释
  257. LeetCode题解:633. 平方数之和,枚举,JavaScript,详细注释
  258. LeetCode题解:2357. 使数组中所有元素都等于零,排序,详细注释
  259. LeetCode题解:2357. 使数组中所有元素都等于零,哈希表,详细注释
  260. LeetCode题解:1238. 循环码排列,归纳法,详细注释
  261. LeetCode题解:2363. 合并相似的物品,双指针,详细注释
  262. LeetCode题解:2363. 合并相似的物品,哈希表,详细注释
  263. LeetCode题解:2373. 矩阵中的局部最大值,遍历,详细注释
  264. LeetCode题解:137. 只出现一次的数字 II,哈希表,JavaScript,详细注释
  265. LeetCode题解:137. 只出现一次的数字 II,排序后搜索,JavaScript,详细注释
  266. LeetCode题解:136. 只出现一次的数字,哈希表,JavaScript,详细注释
  267. LeetCode题解:136. 只出现一次的数字,排序后搜索,JavaScript,详细注释
  268. LeetCode 2648. 生成斐波那契数列,迭代+递归,超详细解析
  269. LeetCode:2665. 计数器 II,闭包详解
  270. LeetCode:2695. 包装数组,详细解释
  271. LeetCode题解:2618. 检查是否是类的对象实例,使用instanceof
  272. LeetCode题解:2618. 检查是否是类的对象实例,迭代和递归
  273. LeetCode题解:剑指 Offer 56 - I. 数组中数字出现的次数,哈希表,JavaScript,详细注释
  274. LeetCode题解:617. 合并二叉树,JavaScript,详细注释
  275. LeetCode题解:2625. 扁平化嵌套数组,递归
  276. LeetCode题解:2631. 分组
  277. LeetCode题解:7. 整数反转,数组反转,JavaScript,详细注释
  278. LeetCode题解:7. 整数反转,迭代,JavaScript,详细注释
  279. LeetCode题解:1720. 解码异或后的数组,异或,JavaScript,详细注释
  280. LeetCode题解:1486. 数组异或操作,模拟,JavaScript,详细注释
  281. LeetCode题解:剑指 Offer 03. 数组中重复的数字,原地置换,JavaScript,详细注释
  282. LeetCode题解:剑指 Offer 39. 数组中出现次数超过一半的数字,摩尔投票,JavaScript,详细注释
  283. LeetCode题解:993. 二叉树的堂兄弟节点,BFS,JavaScript,详细注释
  284. LeetCode题解:171. Excel 表列序号,哈希表,TypeScript,详细注释
  285. LeetCode题解:2. 两数相加,递归,JavaScript,详细注释
  286. LeetCode题解:13. 罗马数字转整数,哈希表,JavaScript,详细注释

每日一个小知识

  1. 【立哥】【每日一个小知识】写遗嘱把部分财产赠给第三者,遗嘱有效力吗?
  2. 【立哥】【每日一个小知识】企业家和管理者有什么区别?

Vue 入门系列目录

  1. Vue 教程 00:MVC、MVP、MVVM 模式的区别,服务端渲染与客户端渲染的区别
  2. Vue 教程 01:Vue 表达式与 v-bind 指令
  3. Vue 教程 02:v-model、v-text、v-html
  4. Vue 教程 03:Vue 事件、v-show、v-if 指令
  5. Vue 教程 04:v-for 指令
  6. Vue 教程 05:v-pre、v-cloak 指令
  7. Vue 教程 06:数据同步、双向绑定原理
  8. Vue 教程 07:事件修饰符
  9. Vue 教程 08:Computed 计算属性、Watch 监听属性
  10. Vue 教程 09:双向绑定对象中属性原理
  11. Vue 教程 10:使用 vue-router 实现路由和传参
  12. Vue 教程 11:利用 JS 实现路由跳转,路由监听和导航守卫
  13. Vue 教程 12:多视图
  14. Vue 教程 13:基于 Webpack 构建项目
  15. Vue 教程 14:配置子路由
  16. Vue 教程 15:Vue 组件
  17. Vue 教程 16:Vue 实例生命周期详解
  18. Vue 教程 17:组件间通信之一:通过组件实例通信
  19. Vue 教程 18:组件间通信之二:通过事件通信
  20. Vue 教程 19:Vue 2.0 组件开发模式
  21. Vue 教程 20:Vuex 入门
  22. Vue 教程 21:Vuex Getter
  23. Vue 教程 22:mapState、mapActions、mapGetters
  24. Vue 教程 23:Vuex 异步 Action
  25. Vue 教程 24:Vuex Modules(完结)

React Native 入门系列目录

  1. React Native 教程 01:简介及环境准备
  2. React Native 教程 02:基础组件和样式介绍(完结)

微信小程序入门系列目录

  1. 微信小程序教程 01:小程序简介
  2. 微信小程序教程 02:App(Object)和 Page(Object) 构造器介绍
  3. 微信小程序教程 03:WXML 语法
  4. 微信小程序教程 04:API(完结)

Node.js 入门系列目录

  1. Node.js 教程 01:Node.js 简介
  2. Node.js 教程 02:response.write
  3. Node.js 教程 03:File System
  4. Node.js 教程 04:使用 http 和 fs 模块实现一个简单的服务器
  5. Node.js 教程 05:HTTP 协议
  6. Node.js 教程 06:处理接收到的 GET 数据
  7. Node.js 教程 07:处理接收到的 POST 数据
  8. Node.js 教程 08:同时处理 GET、POST 请求
  9. Node.js 教程 09:实现一个带接口请求的简单服务器
  10. Node.js 教程 10:Node.js 的模块化
  11. Node.js 教程 11:assert(断言)模块
  12. Node.js 教程 12:path(路径)模块
  13. Node.js 教程 13:URL 模块
  14. Node.js 教程 14:querystring 模块
  15. Node.js 教程 15:net 模块初探
  16. Node.js 教程 16:POST 文件上传
  17. Node.js 教程 17:multiparty
  18. Node.js 教程 18:Ajax 跨域
  19. Node.js 教程 19:WebSocket 之一:使用 Socket.io 建立 WebSocket 应用
  20. Node.js 教程 20:WebSocket 之二:用原生实现 WebSocket 应用
  21. Node.js 教程 21:数据库入门
  22. Node.js 教程 22:使用 Node.js 操作数据库
  23. Node.js 教程 23:使用 async await 异步操作数据库
  24. Node.js 教程 24:Stream 流
  25. Node.js 教程 25:启动器
  26. Node.js 教程 26:Node.js 项目之一:创建目录,环境配置,连接数据库
  27. Node.js 教程 27:Node.js 项目之二:实现路由
  28. Nodejs 教程 28:Node.js 项目之三:实现服务器
  29. Nodejs 教程 29:Node.js 项目之四:添加路由,完成项目
  30. Nodejs 教程 30(完结):PM2 入门

Express 入门系列目录

  1. Express 教程 01:创建服务器、配置路由
  2. Express 教程 02:使用中间件处理静态文件和数据请求
  3. Express 教程 03:自己实现一个 body-parser 中间件
  4. Express 教程 04:处理文件上传
  5. Express 教程 05:Cookie
  6. Express 教程 06:Session(完结)

rc-form 源码解读

  1. rc-form 源码解读

怎样成为快速阅读的高手

  1. 怎样成为快速阅读的高手(上)
  2. 怎样成为快速阅读的高手(中)
  3. 怎样成为快速阅读的高手(下)

如何成为有效学习的高手

  1. 如何成为有效学习的高手:1. 找到适合你的学习方法
  2. 如何成为有效学习的高手:2. 不谈兴趣,用任务驱动学习
  3. 如何成为有效学习的高手:3. 拖延症的“确诊与治疗”
  4. 如何成为有效学习的高手:4. 在衣食住行上训练专注力
  5. 如何成为有效学习的高手:5. 直奔大师,不必从基础开始
  6. 如何成为有效学习的高手:6. 给自己制造反馈
  7. 如何成为有效学习的高手:7. 怎样突破学习瓶颈
  8. 如何成为有效学习的高手:8. 思维导图

如何设计一个优秀的组件

  1. 如何设计一个优秀的组件

零碎的记录系列目录

  1. 解决火狐新窗口打开网页被拦截问题

所思所想系列目录

  1. 如何清除团队中的“害群之马”?(上篇)
  2. 如何清除团队中的“害群之马”?(下篇)
  3. 补硒真的能防癌吗?
  4. 如何保护孩子的牙齿健康
  5. 生活是多维的
  6. 中年危机也许只是个幻觉
  7. 如何识别刷屏文章中的伪科学
  8. 癌症筛查清单

勘误及提问

如果有疑问或者发现错误,可以在相应的 issues 进行提问或勘误。

如果喜欢或者有所启发,欢迎 star,对作者也是一种鼓励。