只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。
基于 Javascript
的 leetcode 题解,记录自己的前端解题之路。
本仓库将会被分为五个部分(预计):
- Leetcode 上一些经典的算法、数据结构题型。
- 前端向的一些题解,包括且不限于常见工具实现类、组件设计类、功能实现类等题型。
- 计算机通识知识,包括计算机组成原理,操作系统等题型。
- 主要面向大厂面试的项目、工作、个人相关的一些题型。
- 其他未被分类的题型。
本仓库会记录笔者的每一次
AC
记录,即使是一些时间 / 空间复杂度
较高的解法, 随着刷题次数的逐步增加, 也会逐步记录一些更低复杂度的解法, 主要目的是用以回味曾经的思考历程。
每一次准备跳槽的背后,都有一个试图逃避的你,那些曾经困扰过你的数据结构和算法,如果你不正面冲撞它、击破它,它们就会在你30岁、35岁、40岁、45岁的时候卷土重来,并且一次比一次凶狠,而你却一次比一次无力。
- 想提高算法能力的编程爱好者。
- 想在面试前进行前端刷题的小伙伴。
本仓库会不定期更新(取决于刷题速度),本仓库按照 Leetcode
官方 标签 进行归类,规则如下:
- 如若该
Problem
只提供了唯一 标签 , 则直接归类在该文件夹下。 - 如若该
Problem
提供了多个 标签 ,则按照相关性(解题方法 -> 问题描述)递减归类。
本仓库目录结构如下:
. ├── 树 -> 归类标签 名称 │ ├── 【0094】二叉树的中序遍历 -> Problem 名称 | | ├── Solutions -> 存放所有通过的解答 | | | ├── solution_1.js -> solution_*.js,* 越大,时间越近 | | | └── solution_2.js | | ├── Articles -> 存放 Problem 的题解、笔记等 | | └── Problem.md -> Problem 问题描述 │ └── 【0098】验证二叉搜啥树 └── README.md
或许是一个可以改变你刷题效率的 VS Code
扩展插件。
笔者也是从 leetcode 小白过来的,深知刚入门刷题时的举步维艰,下面的一些文章可能会帮到你:
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0001 | 两数之和 | Solutions | Easy | 2022-07-13 |
0015 | 三数之和 | Solutions | Medium | 2021-05-21 |
0016 | 最接近的三数之和 | Solutions | Medium | 2021-05-21 |
0018 | 四数之和 | Solutions | Medium | 2021-05-21 |
0167 | 两数之和 II - 输入有序数组 | Solutions | Easy | 2021-05-20 |
0653 | 两数之和 IV - 输入 BST | Solutions | Easy | 2021-05-20 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0094 | 二叉树的中序遍历 | Solutions | Easy | 2022-07-28 |
0102 | 二叉树的层序遍历 | Solutions | Medium | 2022-07-26 |
0103 | 二叉树的锯齿形层序遍历 | Solutions | Medium | 2022-07-26 |
0107 | 二叉树的层序遍历 II | Solutions | Medium | 2021-05-24 |
0144 | 二叉树的前序遍历 | Solutions | Easy | 2022-08-01 |
0145 | 二叉树的后序遍历 | Solutions | Easy | 2021-05-24 |
0199 | 二叉树的右视图 | Solutions | Medium | 2021-05-24 |
0429 | N叉树的层序遍历 | Solutions | Medium | 2022-07-26 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0011 | 盛最多水的容器 | Solutions | Medium | 2021-03-29 |
0026 | 删除有序数组中的重复项 | Solutions | Easy | 2021-02-27 |
0027 | 移除元素 | Solutions | Easy | 2021-03-05 |
0034 | 在排序数组中查找元素的第一个和最后一个位置 | Solutions | Medium | 2021-03-29 |
0035 | 搜索插入位置 | Solutions | Easy | 2022-07-29 |
0048 | 旋转图像 | Solutions | Medium | 2021-03-02 |
0055 | 跳跃游戏 | Solutions | Medium | 2021-04-13 |
0066 | 加一 | Solutions | Easy | 2021-03-01 |
0088 | 合并两个有序数组 | Solutions | Easy | 2021-02-27 |
0118 | 杨辉三角 | Solutions | Easy | 2021-02-25 |
0122 | 买卖股票的最佳时机 II | Solutions | Easy | 2021-02-25 |
0169 | 多数元素 | Solutions | Easy | 2022-08-01 |
0217 | 存在重复元素 | Solutions | Easy | 2021-02-27 |
0238 | 除自身以外数组的乘积 | Solutions | Medium | 2021-03-02 |
0240 | 搜索二维矩阵 II | Solutions | Medium | 2022-07-28 |
0268 | 丢失的数字 | Solutions | Easy | 2021-02-26 |
0283 | 移动零 | Solutions | Easy | 2022-07-27 |
0287 | 寻找重复数 | Solutions | Medium | 2021-03-04 |
0448 | 找到所有数组中消失的数字 | Solutions | Easy | 2021-03-04 |
0867 | 转置矩阵 | Solutions | Easy | 2021-03-23 |
0912 | 排序数组 | Solutions | Medium | 2022-07-26 |
0977 | 有序数组的平方 | Solutions | Easy | 2021-03-23 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0098 | 验证二叉搜索树 | Solutions | Medium | 2021-03-05 |
0100 | 相同的树 | Solutions | Easy | 2022-07-29 |
0101 | 对称二叉树 | Solutions | Easy | 2021-02-28 |
0104 | 二叉树的最大深度 | Solutions | Easy | 2022-07-26 |
0105 | 从前序与中序遍历序列构造二叉树 | Solutions | Medium | 2021-03-06 |
0106 | 从中序与后序遍历序列构造二叉树 | Solutions | Medium | 2021-03-06 |
0108 | 将有序数组转换为二叉搜索树 | Solutions | Easy | 2021-03-05 |
0110 | 平衡二叉树 | Solutions | Easy | 2022-07-28 |
0111 | 二叉树的最小深度 | Solutions | Easy | 2022-07-29 |
0112 | 路径总和 | Solutions | Easy | 2022-07-26 |
0113 | 路径总和 II | Solutions | Medium | 2020-09-26 |
0114 | 二叉树展开为链表 | Solutions | Medium | 2021-02-08 |
0116 | 填充每个节点的下一个右侧节点指针 | Solutions | Medium | 2021-03-05 |
0117 | 填充每个节点的下一个右侧节点指针 II | Solutions | Medium | 2021-02-09 |
0129 | 求根节点到叶节点数字之和 | Solutions | Medium | 2022-07-26 |
0226 | 翻转二叉树 | Solutions | Easy | 2021-03-04 |
0230 | 二叉搜索树中第K小的元素 | Solutions | Medium | 2021-03-05 |
0235 | 二叉搜索树的最近公共祖先 | Solutions | Easy | 2021-03-05 |
0236 | 二叉树的最近公共祖先 | Solutions | Medium | 2021-03-05 |
0257 | 二叉树的所有路径 | Solutions | Easy | 2022-08-01 |
0404 | 左叶子之和 | Solutions | Easy | 2021-05-27 |
0509 | 斐波那契数 | Solutions | Easy | 2020-09-29 |
0543 | 二叉树的直径 | Solutions | Easy | 2021-02-12 |
0617 | 合并二叉树 | Solutions | Easy | 2021-03-04 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0002 | 两数相加 | Solutions | Medium | 2021-03-05 |
0019 | 删除链表的倒数第 N 个结点 | Solutions | Medium | 2021-03-05 |
0019 | 删除链表的倒数第 N 个结点 | Solutions | Medium | 2021-03-05 |
0021 | 合并两个有序链表 | Solutions | Easy | 2022-07-27 |
0024 | 两两交换链表中的节点 | Solutions | Medium | 2021-03-24 |
0061 | 旋转链表 | Solutions | Medium | 2021-02-28 |
0083 | 删除排序链表中的重复元素 | Solutions | Easy | 2021-03-26 |
0141 | 环形链表 | Solutions | Easy | 2022-07-26 |
0142 | 环形链表 II | Solutions | Medium | 2021-02-28 |
0147 | 对链表进行插入排序 | Solutions | Medium | 2021-02-28 |
0148 | 排序链表 | Solutions | Medium | 2021-02-28 |
0160 | 相交链表 | Solutions | Easy | 2022-07-27 |
0206 | 反转链表 | Solutions | Easy | 2022-07-10 |
0234 | 回文链表 | Solutions | Easy | 2022-07-29 |
0237 | 删除链表中的节点 | Solutions | Easy | 2021-02-24 |
0328 | 奇偶链表 | Solutions | Medium | 2021-03-05 |
0876 | 链表的中间结点 | Solutions | Easy | 2022-07-29 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0005 | 最长回文子串 | Solutions | Medium | 2022-07-26 |
0053 | 最大子序和 | Solutions | Easy | 2022-07-26 |
0062 | 不同路径 | Solutions | Medium | 2021-03-13 |
0070 | 爬楼梯 | Solutions | Easy | 2022-07-13 |
0121 | 买卖股票的最佳时机 | Solutions | Easy | 2021-03-29 |
0198 | 打家劫舍 | Solutions | Medium | 2021-03-29 |
0300 | 最长递增子序列 | Solutions | Medium | 2022-08-01 |
0322 | 零钱兑换 | Solutions | Medium | 2021-04-26 |
0993 | 二叉树的堂兄弟节点 | Solutions | Easy | 2021-05-17 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0049 | 字母异位词分组 | Solutions | Medium | 2021-03-06 |
0136 | 只出现一次的数字 | Solutions | Easy | 2022-07-29 |
0204 | 计数质数 | Solutions | Easy | 2021-03-01 |
0242 | 有效的字母异位词 | Solutions | Easy | 2021-02-26 |
0349 | 两个数组的交集 | Solutions | Easy | 2022-08-01 |
0350 | 两个数组的交集 II | Solutions | Easy | 2021-03-02 |
0387 | 字符串中的第一个唯一字符 | Solutions | Easy | 2021-03-01 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0017 | 电话号码的字母组合 | Solutions | Medium | 2021-03-29 |
0022 | 括号生成 | Solutions | Medium | 2022-08-01 |
0039 | 组合总和 | Solutions | Medium | 2021-03-04 |
0046 | 全排列 | Solutions | Medium | 2022-07-13 |
0077 | 组合 | Solutions | Medium | 2021-03-23 |
0078 | 子集 | Solutions | Medium | 2021-02-28 |
0079 | 单词搜索 | Solutions | Medium | 2021-02-11 |
0131 | 分割回文串 | Solutions | Medium | 2021-03-05 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0003 | 无重复字符的最长子串 | Solutions | Medium | 2021-03-05 |
0006 | Z 字形变换 | Solutions | Medium | 2020-09-26 |
0008 | 字符串转换整数 (atoi) | Solutions | Medium | 2021-03-04 |
0014 | 最长公共前缀 | Solutions | Easy | 2022-07-27 |
0020 | 有效的括号 | Solutions | Easy | 2022-07-13 |
0028 | 实现 strStr() | Solutions | Easy | 2021-02-26 |
0038 | 外观数列 | Solutions | Easy | 2021-03-02 |
0058 | 最后一个单词的长度 | Solutions | Easy | 2021-03-06 |
0125 | 验证回文串 | Solutions | Easy | 2022-07-29 |
0165 | 比较版本号 | Solutions | Easy | 2022-07-13 |
0344 | 反转字符串 | Solutions | Easy | 2022-07-29 |
0415 | 字符串相加 | Solutions | Easy | 2022-07-13 |
0557 | 反转字符串中的单词 III | Solutions | Easy | 2021-02-27 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0007 | 整数反转 | Solutions | Easy | 2022-07-28 |
0009 | 回文数 | Solutions | Easy | 2022-07-28 |
0013 | 罗马数字转整数 | Solutions | Easy | 2021-02-28 |
0168 | Excel表列名称 | Solutions | Easy | 2020-10-30 |
0171 | Excel表列序号 | Solutions | Easy | 2022-07-28 |
0202 | 快乐数 | Solutions | Easy | 2021-02-28 |
0326 | 3的幂 | Solutions | Easy | 2021-03-01 |
1556 | 千位分隔数 | Solutions | Easy | 2022-08-01 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0155 | 最小栈 | Solutions | Easy | 2022-08-01 |
0225 | 用队列实现栈 | Solutions | Easy | 2021-03-26 |
0232 | 用栈实现队列 | Solutions | Easy | 2021-03-05 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0292 | Nim 游戏 | Solutions | Easy | 2021-02-28 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0215 | 数组中的第K个最大元素 | Solutions | Medium | 2022-07-26 |
# | 问题 | 解答 | 难度 | 最后提交日期 |
---|---|---|---|---|
0412 | Fizz Buzz | Solutions | Easy | 2021-02-25 |
0701 | 二叉搜索树中的插入操作 | Solutions | Medium | 2020-09-30 |
1480 | 一维数组的动态和 | Solutions | Easy | 2020-09-27 |
1550 | 存在连续三个奇数的数组 | Solutions | Easy | 2020-10-30 |
我们很期待您能参与进来一起建设 :),但我们希望您能遵守相关约定:
我们有一份行为准则,希望所有的贡献者都能遵守,请花时间阅读一遍全文以确保您能明白哪些是可以做的,哪些是不可以做的。
如果文章有所遗漏需要勘误,欢迎在 Github 与我取得联系。
如果您有较好的创意,我们也欢迎您通过 Issue 直接告诉我们。
感谢为这个项目作出贡献的所有编程爱好者。
MIT © qulongjun