LeetCodeOffer

A repository for Leetcode problems.

CompanyTrainings

该目录记录牛客网公司套题

Huawei_1

Huawei_2

NetEase_1

Tecent_1

ProblemsByType

该目录按照题目的类型分类

Array —— 数组

  • Leetcode 1. 两数之和
  • Leetcode 4. 两个有序数组的中位数
  • Leetcode 11. 盛水最多的容器
  • Leetcode 15. 三数之和
  • Leetcode 18. 四数之和(衍生出n数之和)
  • Leetcode 31. 下一个排列
  • Leetcode 33. 搜索旋转排序数组
  • Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置
  • Leetcode 48. 旋转图像
  • Leetcode 49. 字母异位词分组
  • Leetcode 55. 跳跃游戏
  • Leetcode 56. 合并区间
  • Leetcode 75. 颜色分类
  • Leetcode 121. 买卖股票的最佳时机
  • Leetcode 128. 最长连续序列
  • Leetcode 136. 只出现一次的数字
  • Leetcode 169. 多数元素
  • Leetcode 215. 数组中第K个最大元素
  • Leetcode 238. 除自身以外数组的乘积
  • Leetcode 240. 搜索二维矩阵||
  • Leetcode 283. 移动零
  • Leetcode 287. 寻找重复数

LinkedList —— 链表

  • Leetcode 2. 两数相加
  • Leetcode 19. 删除倒数第K个元素
  • Leetcode 23. 合并K个有序链表
  • Leetcode 141. 环形链表
  • Leetcode 142. 环形链表||
  • Leetcode 146. LRU缓存
  • Leetcode 148. 排序链表
  • Leetcode 160. 相交链表
  • Leetcode 206. 反转链表
  • Leetcode 234. 回文链表

BackTraceAndRecursion —— 递归与回溯

  • Leetcode 17. 电话号码的字母组合
  • Leetcode 22. 括号生成
  • Leetcode 39. 组合总数
  • Leetcode 46. 全排列
  • Leetcode 78. 子集
  • Leetcode 79. 单词搜索

BipartiteTree —— 二叉树

  • Leetcode 96. 不同的二叉搜索树
  • Leetcode 98. 验证二叉搜索树
  • Leetcode 101. 对称二叉树
  • Leetcode 102. 二叉树的层序遍历
  • Leetcode 104. 二叉树的最大深度
  • Leetcode 105. 从前序和中序排列构造二叉树
  • Leetcode 114. 二叉树展开为链表
  • Leetcode 124. 二叉树最大路径和
  • Leetcode 226. 翻转二叉树
  • Leetcode 236. 二叉树的最近公共祖先
  • Leetcode 208. 实现Trie(前缀树)
  • Leetcode 297. 二叉树的序列化和反序列化

DP —— 动态规划

  • Leetcode 53. 最大子数组和
  • Leetcode 63. 不同路径数
  • Leetcode 64. 最小路径和
  • Leetcode 72. 编辑距离
  • Leetcode 115. 不同的子序列
  • Leetcode 139. 单词划分
  • Leetcode 152. 最大乘积子数组
  • Leetcode 198. 打家劫舍
  • Leetcode 221. 最大正方形
  • Leetcode 279. 完全平方数

Graph —— 图论

  • Leetcode 207. 课程表|
  • Leetcode 210. 课程表||
  • Leetcode 743 网络延迟时间
  • Leetcode 785. 判断二分图
  • Leetcode 886 可能的二分法

Search —— 搜索

  • Leetcode 54. 螺旋矩阵
  • Leetcode 94. 二叉树中序遍历
  • Leetcode 200. 岛屿数量
  • Leetcode 526. 优美的排列
  • Leetcode 841. 钥匙和房间
  • Leetcode 934. 最短的桥
  • Leetcode 1368. 使网格图至少有一条有效路径的最小代价
  • Leetcode 301. 删除无效的括号

SlidingWindow —— 滑动窗口

  • Leetcode 76. 最小覆盖子集

Stack —— 栈

  • Leetcode 20. 有效的括号
  • Leetcode 43. 接雨水
  • Leetcode 84. 柱状图中最大的矩形
  • Leetcode 85. 最大矩形
  • Leetcode 155. 最小栈

String —— 字符串

  • Leetcode 03. 最长无重复元素的子串
  • Leetcode 05. 最长回文子串
  • Leetcode 415. 字符串相加
  • Leetcode 516. 最长回文子序列

SwordRefersToOffer

该目录按照《剑指 Offer(第 2 版)》题目序号排列.

  • 剑指 Offer 03. 数组中重复的数字
  • 剑指 Offer 04. 二维数组中的查找
  • 剑指 Offer 05. 替换空格
  • 剑指 Offer 06. 从尾到头打印链表
  • 剑指 Offer 07. 重建二叉树
  • 剑指 Offer 09. 用两个栈实现队列
  • 剑指 Offer 10- I. 斐波那契数列
  • 剑指 Offer 10- II. 青蛙跳台阶问题
  • 剑指 Offer 11. 旋转数组的最小数字
  • 剑指 Offer 12. 矩阵中的路径
  • 剑指 Offer 16. 数值的整数次方
  • 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
  • 剑指 Offer 25. 合并两个排序的链表
  • 剑指 Offer 28. 对称的二叉树
  • 剑指 Offer 44. 数字序列中某一位的数字
  • 剑指 Offer 51. 数组中的逆序对
  • 剑指 Offer 53 - I. 在排序数组中查找数字 I
  • 剑指 Offer 53 - II. 0~n-1中缺失的数字
  • 剑指 Offer 54. 二叉搜索树的第k大节点
  • 剑指 Offer 57. 和为s的两个数字
  • 剑指 Offer 58 - II. 左旋转字符串
  • 剑指 Offer 68 - II. 二叉树的最近公共祖先