Skip to content

✏️ Solutions collection of my LeetCode submissions in JavaScript

License

Notifications You must be signed in to change notification settings

qulongjun/leetcode

Repository files navigation

Static.

GitHub top language GitHub last commit GitHub

只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。

📘 仓库介绍

基于 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?

笔者也是从 leetcode 小白过来的,深知刚入门刷题时的举步维艰,下面的一些文章可能会帮到你:

🧠 思维导图

✨ Problem Guide

系列题型

N数之和

# 问题 解答 难度 最后提交日期
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 直接告诉我们。

💌 鸣谢

感谢为这个项目作出贡献的所有编程爱好者。

🍖 License

MIT © qulongjun

About

✏️ Solutions collection of my LeetCode submissions in JavaScript

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks