diff --git a/README.md b/README.md index b2c13cc..1f1f5a1 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,51 @@ ## 前端食堂的 LeetCode 题解仓库 +[![](https://img.shields.io/badge/WeChat-微信群-brightgreen)](#交流) +[![](https://img.shields.io/badge/公众号-前端食堂-blueviolet)](#交流) +[![](https://img.shields.io/badge/Juejin-掘金-blue)](https://juejin.im/user/5a2de8a8f265da4320032fc4) +[![](https://img.shields.io/badge/Weibo-微博-orange)](https://weibo.com/u/2771284557) +[![](https://img.shields.io/badge/Zhihu-知乎-blue)](https://www.zhihu.com/people/huo-yi-tong-98) +[![](https://img.shields.io/badge/bilili-哔哩哔哩-ff69b4)](https://space.bilibili.com/161753278) + 2021 年计划,这个仓库写满 100 篇前端面试高频 LeetCode 题解(JavaScript)。 +题目序号为 LeetCode 对应题目的序号,题解内有链接跳转到对应题目。 + +如果你是初学者,可能你需要一份数据结构与算法的入门资料,我之前写过一些文章,如下: + +- [前端如何搞定数据结构与算法(先导篇)](https://juejin.im/post/5e9bb8c251882573820998ac) +- [JavaScript 算法时间、空间复杂度分析](https://juejin.im/post/5ea979085188256d6f267940) +- [你真的懂递归吗?](https://juejin.im/post/5ec225e26fb9a043761ce4d8) +- [分治、动态规划、回溯、贪心一锅炖](https://juejin.im/post/5ee4f5bfe51d457b3f4a1fc0#heading-22) +- [数组回炉重造+6道前端算法面试高频题解](https://juejin.cn/post/6937526265201033230/) +- [面试链表不再怕](https://juejin.im/post/5f09ede5f265da22eb2a6dcf) +- [“树”业有专攻](https://juejin.im/post/5ef32453f265da22ef7daad3#heading-14) +- [从酒桌游戏看二分查找算法](https://juejin.im/post/5f0499c76fb9a07e976bdbc2) +- [食堂店小二儿教你学会栈](https://juejin.im/post/6869785753958907912) +- [前端玩转位运算(N皇后+Vue3位运算应用)](https://juejin.cn/post/6904595258915422215/) +- [手撕前端面试之经典排序算法 (动图+视频)](https://juejin.cn/post/6932482325159067656) + +感谢 Star🌟 + ## 进度 -已经完成 64 道。 +已经完成 100 道。 ## 数组 - [1. 两数之和](https://github.com/Geekhyt/javascript-leetcode/issues/1) +- [剑指 Offer 03. 数组中重复的数字](https://github.com/Geekhyt/javascript-leetcode/issues/60) - [11. 盛水最多的容器](https://github.com/Geekhyt/javascript-leetcode/issues/2) - [15. 三数之和](https://github.com/Geekhyt/javascript-leetcode/issues/3) - [26. 删除排序数组中的重复项](https://github.com/Geekhyt/javascript-leetcode/issues/4) +- [27. 移除元素](https://github.com/Geekhyt/javascript-leetcode/issues/67) - [66. 加一 ](https://github.com/Geekhyt/javascript-leetcode/issues/5) +- [88. 合并两个有序数组](https://github.com/Geekhyt/javascript-leetcode/issues/72) +- [169. 多数元素](https://github.com/Geekhyt/javascript-leetcode/issues/68) - [283. 移动零 ](https://github.com/Geekhyt/javascript-leetcode/issues/6) +- [349. 两个数组的交集](https://github.com/Geekhyt/javascript-leetcode/issues/69) +- [217. 存在重复元素](https://github.com/Geekhyt/javascript-leetcode/issues/88) + ## 链表 @@ -23,23 +55,47 @@ - [141. 环形链表](https://github.com/Geekhyt/javascript-leetcode/issues/9) - [206. 反转链表](https://github.com/Geekhyt/javascript-leetcode/issues/10) - [876. 链表的中间结点](https://github.com/Geekhyt/javascript-leetcode/issues/11) +- [160. 相交链表](https://github.com/Geekhyt/javascript-leetcode/issues/61) +- [25. K 个一组翻转链表](https://github.com/Geekhyt/javascript-leetcode/issues/62) +- [83. 删除排序链表中的重复元素](https://github.com/Geekhyt/javascript-leetcode/issues/63) +- [剑指 Offer 06. 从尾到头打印链表](https://github.com/Geekhyt/javascript-leetcode/issues/65) +- [面试题 02.02. 返回倒数第 k 个节点](https://github.com/Geekhyt/javascript-leetcode/issues/66) ## 树 - [94. 二叉树的中序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/13) -- [144. 二叉树的前序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/14) -- [145. 二叉树的后序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/15) +- [98. 验证二叉搜索树](https://github.com/Geekhyt/javascript-leetcode/issues/75) - [100. 相同的树](https://github.com/Geekhyt/javascript-leetcode/issues/16) - [101. 对称二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/17) - [102. 二叉树的层序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/18) - [104. 二叉树的最大深度](https://github.com/Geekhyt/javascript-leetcode/issues/19) +- [110. 平衡二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/76) +- [108. 将有序数组转换为二叉搜索树](https://github.com/Geekhyt/javascript-leetcode/issues/79) +- [112. 路径总和](https://github.com/Geekhyt/javascript-leetcode/issues/77) +- [144. 二叉树的前序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/14) +- [145. 二叉树的后序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/15) - [226. 翻转二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/20) +- [543. 二叉树的直径](https://github.com/Geekhyt/javascript-leetcode/issues/78) +- [617. 合并二叉树](https://github.com/Geekhyt/javascript-leetcode/issues/87) +- [429. N 叉树的层序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/89) +- [590. N 叉树的后序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/90) +- [589. N 叉树的前序遍历](https://github.com/Geekhyt/javascript-leetcode/issues/91) +- [111. 二叉树的最小深度](https://github.com/Geekhyt/javascript-leetcode/issues/92) +- [236. 二叉树的最近公共祖先](https://github.com/Geekhyt/javascript-leetcode/issues/93) +- [297. 二叉树的序列化与反序列化](https://github.com/Geekhyt/javascript-leetcode/issues/94) + ## 栈 - [20. 有效的括号](https://github.com/Geekhyt/javascript-leetcode/issues/21) - [84. 柱状图中最大的矩形](https://github.com/Geekhyt/javascript-leetcode/issues/22) - [155. 最小栈](https://github.com/Geekhyt/javascript-leetcode/issues/23) +- [739. 每日温度](https://github.com/Geekhyt/javascript-leetcode/issues/73) +- [1047. 删除字符串中的所有相邻重复项](https://github.com/Geekhyt/javascript-leetcode/issues/80) + +## 队列 + +- [239. 滑动窗口最大值](https://github.com/Geekhyt/javascript-leetcode/issues/95) ## 贪心 @@ -61,6 +117,8 @@ - [125. 验证回文串](https://github.com/Geekhyt/javascript-leetcode/issues/35) - [344. 反转字符串](https://github.com/Geekhyt/javascript-leetcode/issues/36) - [415. 字符串相加](https://github.com/Geekhyt/javascript-leetcode/issues/37) +- [58. 最后一个单词的长度](https://github.com/Geekhyt/javascript-leetcode/issues/74) +- [409. 最长回文串](https://github.com/Geekhyt/javascript-leetcode/issues/81) ## 排序 - [冒泡排序](https://github.com/Geekhyt/javascript-leetcode/issues/39) @@ -69,6 +127,25 @@ - [归并排序](https://github.com/Geekhyt/javascript-leetcode/issues/42) - [快速排序](https://github.com/Geekhyt/javascript-leetcode/issues/43) - [堆排序](https://github.com/Geekhyt/javascript-leetcode/issues/44) +- [剑指 Offer 40. 最小的k个数](https://github.com/Geekhyt/javascript-leetcode/issues/82) + +## DFS + +- [200. 岛屿数量](https://github.com/Geekhyt/javascript-leetcode/issues/64) + +## LRU + +- [146. LRU 缓存机制](https://github.com/Geekhyt/javascript-leetcode/issues/86) + +## 位运算 + +- [136. 只出现一次的数字](https://github.com/Geekhyt/javascript-leetcode/issues/83) +- [52. N皇后 II](https://github.com/Geekhyt/javascript-leetcode/issues/84) + +## 二分查找 +- [704. 二分查找](https://github.com/Geekhyt/javascript-leetcode/issues/85) +- [33. 搜索旋转排序数组](https://github.com/Geekhyt/javascript-leetcode/issues/70) +- [35. 搜索插入位置](https://github.com/Geekhyt/javascript-leetcode/issues/71) ## 动态规划 - [70. 爬楼梯](https://github.com/Geekhyt/javascript-leetcode/issues/38) @@ -93,3 +170,10 @@ - [139. 单词拆分](https://github.com/Geekhyt/javascript-leetcode/issues/57) - [887. 鸡蛋掉落](https://github.com/Geekhyt/javascript-leetcode/issues/58) - [279. 完全平方数](https://github.com/Geekhyt/javascript-leetcode/issues/59) + + +## 交流 + +加我微信: hungryturbo 备注「加群」即可。 + +![](https://github.com/Geekhyt/front-end-canteen/blob/master/images/new-qrcode.jpg)