本项目包含 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》等题目的相关题解。所有题解均由多种编程语言实现,包括但不限于:Java、Python、C++、JavaScript、C#、Go,日常更新。欢迎 Star 🌟 关注本项目「GitHub / Gitee」,获取项目最新动态。
- Netlify: https://lc.netlify.app
- Gitee Pages: https://doocs.gitee.io/leetcode
- GitHub Pages: https://doocs.github.io/leetcode
- 多数元素
- 删除排序数组中的重复项
- 删除排序数组中的重复项 II
- 移除元素
- 移动零
- 数组中重复的数字
- 旋转数组
- 螺旋矩阵
- 两数之和
- 三数之和
- 四数之和
- 较小的三数之和
- 最接近的三数之和
- 合并两个有序数组
- 寻找旋转排序数组中的最小值
- 寻找旋转排序数组中的最小值 II
- 除自身以外数组的乘积
- 两数相加
- 两数相加 II
- 从尾到头打印链表
- 删除链表中的节点
- 删除排序链表中的重复元素
- 删除排序链表中的重复元素 II
- 移除链表元素
- 链表中倒数第 k 个节点
- 两两交换链表中的节点
- 合并两个有序链表
- 合并 K 个排序链表
- 对链表进行插入排序
- 排序链表
- 反转链表
- 反转链表 II
- 重排链表
- 旋转链表
- 回文链表
- 相交链表
- 奇偶链表
- 环形链表
- 环形链表 II
- 设计链表
- 二叉树的前序遍历
- 二叉树的后序遍历
- 二叉树的中序遍历
- 对称二叉树
- 树的子结构
- 翻转二叉树
- 二叉树的层次遍历
- 二叉树的层次遍历 II
- 二叉树的右视图
- 二叉树的最大深度
- 二叉树的最小深度
- 二叉树的所有路径
- 路径总和
- 路径总和 II
- 从前序与中序遍历序列构造二叉树
- 从中序与后序遍历序列构造二叉树
- 二叉搜索树的后序遍历序列
- 二叉搜索树迭代器
- 二叉树的最近公共祖先
- 二叉搜索树的最近公共祖先
- 将二叉搜索树转换为单链表
- 将二叉搜索树转化为排序的双向链表
- 二叉树的边界
- 填充每个节点的下一个右侧节点指针
- 填充每个节点的下一个右侧节点指针 II
- 斐波那契数
- 第 N 个泰波那契数
- 爬楼梯
- 使用最小花费爬楼梯
- 打家劫舍
- 打家劫舍 II
- 删除并获得点数
- 跳跃游戏
- 跳跃游戏 II
- 最大子序和
- 环形子数组的最大和
- 乘积最大子序列
- 乘积为正数的最长子数组长度
- 最佳观光组合
- 买卖股票的最佳时机
- 买卖股票的最佳时机 II
- 最佳买卖股票时机含冷冻期
- 买卖股票的最佳时机含手续费
- 接雨水
- 礼物的最大价值
- 最小路径和
- 解码方法
- 最长上升子序列
- 俄罗斯套娃信封问题
- 最长公共子序列
刷编程题的最大好处就是可以锻炼解决问题的思维能力。相信我,「如何去思考」 本身也是一项需要不断学习和练习的技能。非常感谢前微软工程师、现蚂蚁金服技术专家 @kfstorm 贡献了本项目的所有 C# 题解。
如果你对本项目感兴趣,并且希望加入我们刷题小分队,欢迎随时提交 PR。请参考如下步骤:
- 将本项目 fork 到你的个人 GitHub / Gitee 帐户,然后 clone 到你的本地机器;
- 对项目做出一些变更,然后使用 git add、commit、push 等命令将你的本地变更提交到你的远程 GitHub / Gitee 仓库;
- 将你的变更以 PR 的形式提交过来,项目的维护人员会在第一时间对你的变更进行 review!
- 你也可以参考帮助文档「GitHub / Gitee」了解更多细节。
Gitpod.io 是一个免费的在线开发环境,你也可以使用它参与本项目。
非常感谢以下所有朋友对本项目的贡献,你们是最可爱的人!
特别感谢以下个人、组织对本项目的赞助!
"You help the developer community practice for interviews, and there is nothing better we could ask for." -- Alan Yessenbayev
知名互联网科技博主 @爱可可-爱生活 微博推荐。