Traserve / LeetCode

个人LeetCode做题记录

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

LeetCode做题笔记

排序

冒泡排序

选择排序

插入排序

[147. 对链表进行插入排序](algorithm/147. 对链表进行插入排序.md)

快速排序

归并排序

[88. 合并两个有序数组](algorithm/88. 合并两个有序数组.md)

[148. 排序链表](algorithm/148. 排序链表.md)

堆排序

一 数学

  1. [9. 回文数](algorithm/9. 回文数.md)
  2. [8. 字符串转换整数 (atoi)](algorithm/8. 字符串转换整数 (atoi).md)
  3. [7. 整数反转](algorithm/7. 整数反转.md)
  4. [LCP 33. 蓄水](algorithm/LCP 33. 蓄水.md)
  5. [365. 水壶问题](algorithm/365. 水壶问题.md)

二 数组

  1. [704. 二分查找](algorithm/704. 二分查找.md)
  2. [27. 移除元素](algorithm/27. 移除元素.md)
  3. [26. 删除有序数组中的重复项](algorithm/26. 删除有序数组中的重复项.md)
  4. [80. 删除有序数组中的重复项 II](algorithm/80. 删除有序数组中的重复项 II.md)
  5. [977. 有序数组的平方](algorithm/977. 有序数组的平方.md)
  6. [209. 长度最小的子数组](algorithm/209. 长度最小的子数组.md)
  7. [59. 螺旋矩阵 II](algorithm/59. 螺旋矩阵 II.md)
  8. [189. 轮转数组](algorithm/189. 轮转数组.md)
  9. [238. 除自身以外数组的乘积](algorithm/238. 除自身以外数组的乘积.md)
  10. [380. O(1) 时间插入、删除和获取随机元素](algorithm/380. O(1) 时间插入、删除和获取随机元素.md)

三 链表

  1. [203. 移除链表元素](algorithm/203. 移除链表元素.md)

  2. [83. 删除排序链表中的重复元素](algorithm/83. 删除排序链表中的重复元素.md)

  3. [82. 删除排序链表中的重复元素 II](algorithm/82. 删除排序链表中的重复元素 II.md)

  4. [707. 设计链表](algorithm/707. 设计链表.md)

  5. [206. 反转链表](algorithm/206. 反转链表.md)

  6. [24. 两两交换链表中的节点](algorithm/24. 两两交换链表中的节点.md)

  7. [19. 删除链表的倒数第 N 个结点](algorithm/19. 删除链表的倒数第 N 个结点.md)

  8. [1721. 交换链表中的节点](algorithm/1721. 交换链表中的节点.md)

  9. [面试题 02.07. 链表相交](algorithm/面试题 02.07. 链表相交.md)

  10. [142. 环形链表II](algorithm/142. 环形链表 II.md)

  11. [61. 旋转链表](algorithm/61. 旋转链表.md)

  12. [86. 分隔链表](algorithm/86. 分隔链表.md)

  13. [143. 重排链表](algorithm/143. 重排链表.md)

  14. [147. 对链表进行插入排序](algorithm/147. 对链表进行插入排序.md)

  15. [148. 排序链表](algorithm/148. 排序链表.md)

  16. [138. 复制带随机指针的链表](algorithm/138. 复制带随机指针的链表.md)

四 哈希表

  1. [242. 有效的字母异位词](algorithm/242. 有效的字母异位词.md)

  2. [349. 两个数组的交集](algorithm/349. 两个数组的交集.md)

  3. [202. 快乐数](algorithm/202. 快乐数.md)

  4. [1. 两数之和](algorithm/1. 两数之和.md)

  5. [454. 四数相加 II](algorithm/454. 四数相加 II.md)

  6. [383. 赎金信](algorithm/383. 赎金信.md)

  7. [15. 三数之和](algorithm/15. 三数之和.md)

  8. [18. 四数之和](algorithm/18. 四数之和.md)

  9. [895. 最大频率栈](algorithm/895. 最大频率栈.md)

  10. [380. O(1) 时间插入、删除和获取随机元素](algorithm/380. O(1) 时间插入、删除和获取随机元素.md)

  11. [36. 有效的数独](algorithm/36. 有效的数独.md)

  12. [138. 复制带随机指针的链表](algorithm/138. 复制带随机指针的链表.md)

五 字符串

  1. [344. 反转字符串](algorithm/344. 反转字符串.md)

  2. [541. 反转字符串 II](algorithm/541. 反转字符串 II.md)

  3. [剑指 Offer 05. 替换空格](algorithm/剑指 Offer 05. 替换空格.md)

  4. [151. 翻转字符串里的单词](algorithm/151. 翻转字符串里的单词.md)

  5. [剑指 Offer 58 - II. 左旋转字符串](algorithm/剑指 Offer 58 - II. 左旋转字符串.md)

  6. [28. 找出字符串中第一个匹配项的下标](algorithm/28. 找出字符串中第一个匹配项的下标.md)

  7. [459. 重复的子字符串](algorithm/459. 重复的子字符串.md)

  8. [8. 字符串转换整数 (atoi)](algorithm/8. 字符串转换整数 (atoi).md)

六 双指针法

  1. [27. 移除元素](algorithm/27. 移除元素.md)
  2. [344. 反转字符串](algorithm/344. 反转字符串.md)
  3. [541. 反转字符串 II](algorithm/541. 反转字符串 II.md)
  4. [剑指 Offer 05. 替换空格](algorithm/剑指 Offer 05. 替换空格.md)
  5. [206. 反转链表](algorithm/206. 反转链表.md)
  6. [19. 删除链表的倒数第N个节点](algorithm/19. 删除链表的倒数第N个节点.md)
  7. [1721. 交换链表中的节点](algorithm/1721. 交换链表中的节点.md)
  8. [3. 无重复字符的最长子串](algorithm/3. 无重复字符的最长子串.md)
  9. [面试题 02.07. 链表相交](algorithm/面试题 02.07. 链表相交.md)
  10. [82. 删除排序链表中的重复元素 II](algorithm/82. 删除排序链表中的重复元素 II.md)
  11. [142. 环形链表II](algorithm/142. 环形链表II.md)
  12. [15. 三数之和](algorithm/15. 三数之和.md)
  13. [18. 四数之和](algorithm/18. 四数之和.md)
  14. [11. 盛最多水的容器](algorithm/11. 盛最多水的容器.md)

七 队列和栈

  1. [232. 用栈实现队列](algorithm/232. 用栈实现队列.md)

  2. [225. 用队列实现栈](algorithm/225. 用队列实现栈.md)

  3. [20. 有效的括号](algorithm/20. 有效的括号.md)

  4. [1047. 删除字符串中的所有相邻重复项](algorithm/1047. 删除字符串中的所有相邻重复项.md)

  5. [150. 逆波兰表达式求值](algorithm/150. 逆波兰表达式求值.md)

  6. [239. 滑动窗口最大值](algorithm/239. 滑动窗口最大值.md)

  7. [347. 前 K 个高频元素](algorithm/347. 前 K 个高频元素.md)

八 二叉树

  1. [144. 二叉树的前序遍历](algorithm/144. 二叉树的前序遍历.md)

  2. [145. 二叉树的后序遍历](algorithm/145. 二叉树的后序遍历.md)

  3. [94. 二叉树的中序遍历](algorithm/94. 二叉树的中序遍历.md)

  4. [102. 二叉树的层序遍历](algorithm/102. 二叉树的层序遍历.md)

  5. [107. 二叉树的层序遍历 II](algorithm/107. 二叉树的层序遍历 II.md)

  6. [199. 二叉树的右视图](algorithm/199. 二叉树的右视图.md)

  7. [637. 二叉树的层平均值](algorithm/637. 二叉树的层平均值.md)

  8. [429. N 叉树的层序遍历](algorithm/429. N 叉树的层序遍历.md)

  9. [515. 在每个树行中找最大值](algorithm/515. 在每个树行中找最大值.md)

  10. [116. 填充每个节点的下一个右侧节点指针](algorithm/116. 填充每个节点的下一个右侧节点指针.md)

  11. [117. 填充每个节点的下一个右侧节点指针 II](algorithm/117. 填充每个节点的下一个右侧节点指针 II.md)

  12. [226. 翻转二叉树](algorithm/226. 翻转二叉树.md)

  13. [101. 对称二叉树](algorithm/101. 对称二叉树.md)

  14. [111. 二叉树的最小深度](algorithm/111. 二叉树的最小深度.md)

  15. [222. 完全二叉树的节点个数](algorithm/222. 完全二叉树的节点个数.md)

  16. [110. 平衡二叉树](algorithm/110. 平衡二叉树.md)

  17. [257. 二叉树的所有路径](algorithm/257. 二叉树的所有路径.md)

  18. [404. 左叶子之和](algorithm/404. 左叶子之和.md)

  19. [513. 找树左下角的值](algorithm/513. 找树左下角的值.md)

  20. [112. 路径总和](algorithm/112. 路径总和.md)

  21. [113. 路径总和 II](algorithm/113. 路径总和 II.md)

  22. [106. 从中序与后序遍历序列构造二叉树](algorithm/106. 从中序与后序遍历序列构造二叉树.md)

  23. [105. 从前序与中序遍历序列构造二叉树](algorithm/105. 从前序与中序遍历序列构造二叉树.md)

  24. [654. 最大二叉树](algorithm/654. 最大二叉树.md)

  25. [617. 合并二叉树](algorithm/617. 合并二叉树.md)

  26. [700. 二叉搜索树中的搜索](algorithm/700. 二叉搜索树中的搜索.md)

  27. [98. 验证二叉搜索树](algorithm/98. 验证二叉搜索树.md)

  28. [530. 二叉搜索树的最小绝对差](algorithm/530. 二叉搜索树的最小绝对差.md)

  29. [501. 二叉搜索树中的众数](algorithm/501. 二叉搜索树中的众数.md)

  30. [236. 二叉树的最近公共祖先](algorithm/236. 二叉树的最近公共祖先.md)

  31. [235. 二叉搜索树的最近公共祖先](algorithm/235. 二叉搜索树的最近公共祖先.md)

  32. [337. 打家劫舍 III](algorithm/337. 打家劫舍 III.md)

  33. [701. 二叉搜索树中的插入操作](algorithm/701. 二叉搜索树中的插入操作.md)

  34. [450. 删除二叉搜索树中的节点](algorithm/450. 删除二叉搜索树中的节点.md)

  35. [669. 修剪二叉搜索树](algorithm/669. 修剪二叉搜索树.md)

  36. [108. 将有序数组转换为二叉搜索树](algorithm/108. 将有序数组转换为二叉搜索树.md)

  37. [538. 把二叉搜索树转换为累加树](algorithm/538. 把二叉搜索树转换为累加树.md)

  38. [114. 二叉树展开为链表](algorithm/114. 二叉树展开为链表.md)

  39. [剑指 Offer 36. 二叉搜索树与双向链表](algorithm/剑指 Offer 36. 二叉搜索树与双向链表.md)

九 回溯

  1. [77. 组合](algorithm/77. 组合.md)
  2. [216. 组合总和 III](algorithm/216. 组合总和 III.md)
  3. [17. 电话号码的字母组合](algorithm/17. 电话号码的字母组合.md)
  4. [39. 组合总和](algorithm/39. 组合总和.md)
  5. [40. 组合总和 II](algorithm/40. 组合总和 II.md)
  6. [131. 分割回文串](algorithm/131. 分割回文串.md)
  7. [93. 复原 IP 地址](algorithm/93. 复原 IP 地址.md)
  8. [78. 子集](algorithm/78. 子集.md)
  9. [90. 子集 II](algorithm/90. 子集 II.md)
  10. [491. 递增子序列](algorithm/491. 递增子序列.md)
  11. [46. 全排列](algorithm/46. 全排列.md)
  12. [47. 全排列 II](algorithm/47. 全排列 II.md)
  13. [332. 重新安排行程](algorithm/332. 重新安排行程.md)
  14. [51. N 皇后](algorithm/51. N 皇后.md)
  15. [37. 解数独](algorithm/37. 解数独.md)

十 贪心

  1. [455. 分发饼干](algorithm/455. 分发饼干.md)
  2. [376. 摆动序列](algorithm/376. 摆动序列.md)
  3. [53. 最大子数组和](algorithm/53. 最大子数组和.md)
  4. [122. 买卖股票的最佳时机 II](algorithm/122. 买卖股票的最佳时机 II.md)
  5. [45. 跳跃游戏 II](algorithm/45. 跳跃游戏 II.md)
  6. [134. 加油站](algorithm/134. 加油站.md)

十一 动态规划

  1. [509. 斐波那契数](algorithm/509. 斐波那契数.md)
  2. [70. 爬楼梯](algorithm/70. 爬楼梯.md)
  3. [746. 使用最小花费爬楼梯](algorithm/746. 使用最小花费爬楼梯.md)
  4. [62. 不同路径](algorithm/62. 不同路径.md)
  5. [63. 不同路径 II](algorithm/63. 不同路径 II.md)
  6. [343. 整数拆分](algorithm/343. 整数拆分.md)
  7. [96. 不同的二叉搜索树](algorithm/96. 不同的二叉搜索树.md)
  8. [416. 分割等和子集](algorithm/416. 分割等和子集.md)
  9. [1049. 最后一块石头的重量 II](algorithm/1049. 最后一块石头的重量 II.md)
  10. [494. 目标和](algorithm/494. 目标和.md)
  11. [474. 一和零](algorithm/474. 一和零.md)
  12. [518. 零钱兑换 II](algorithm/518. 零钱兑换 II.md)
  13. [377. 组合总和 Ⅳ](algorithm/377. 组合总和 Ⅳ.md)
  14. [70. 爬楼梯](algorithm/70. 爬楼梯.md)
  15. [322. 零钱兑换](algorithm/322. 零钱兑换.md)
  16. [279. 完全平方数](algorithm/279. 完全平方数.md)
  17. [139. 单词拆分](algorithm/139. 单词拆分.md)
  18. [198. 打家劫舍](algorithm/198. 打家劫舍.md)
  19. [213. 打家劫舍 II](algorithm/213. 打家劫舍 II.md)
  20. [337. 打家劫舍 III](algorithm/337. 打家劫舍 III.md)
  21. [121. 买卖股票的最佳时机](algorithm/121. 买卖股票的最佳时机.md)
  22. [122. 买卖股票的最佳时机 II](algorithm/122. 买卖股票的最佳时机 II.md)
  23. [309. 最佳买卖股票时机含冷冻期](algorithm/309. 最佳买卖股票时机含冷冻期.md)
  24. [714. 买卖股票的最佳时机含手续费](algorithm/714. 买卖股票的最佳时机含手续费.md)
  25. [123. 买卖股票的最佳时机 III](algorithm/123. 买卖股票的最佳时机 III.md)
  26. [188. 买卖股票的最佳时机 IV](algorithm/188. 买卖股票的最佳时机 IV.md)
  27. [674. 最长连续递增序列](algorithm/674. 最长连续递增序列.md)
  28. [300. 最长递增子序列](algorithm/300. 最长递增子序列.md)
  29. [718. 最长重复子数组](algorithm/718. 最长重复子数组.md)
  30. [1143. 最长公共子序列](algorithm/1143. 最长公共子序列.md)
  31. [1035. 不相交的线](algorithm/1035. 不相交的线.md)
  32. [53. 最大子数组和](algorithm/53. 最大子数组和.md)
  33. [392. 判断子序列](algorithm/392. 判断子序列.md)
  34. [115. 不同的子序列](algorithm/115. 不同的子序列.md)
  35. [583. 两个字符串的删除操作](algorithm/583. 两个字符串的删除操作.md)
  36. [72. 编辑距离](algorithm/72. 编辑距离.md)
  37. [5. 最长回文子串](algorithm/5. 最长回文子串.md)
  38. [647. 回文子串](algorithm/647. 回文子串.md)
  39. [132. 分割回文串 II](algorithm/132. 分割回文串 II.md)

十二 单调栈

  1. [739. 每日温度](algorithm/739. 每日温度.md)
  2. [84. 柱状图中最大的矩形](algorithm/84. 柱状图中最大的矩形.md)
  3. [85. 最大矩形](algorithm/85. 最大矩形.md)
  4. [42. 接雨水](algorithm/42. 接雨水.md)

十三 深搜广搜

  1. [200. 岛屿数量](algorithm/200. 岛屿数量.md)
  2. [463. 岛屿的周长](algorithm/463. 岛屿的周长.md)
  3. [695. 岛屿的最大面积](algorithm/695. 岛屿的最大面积.md)
  4. [130. 被围绕的区域](algorithm/130. 被围绕的区域.md)
  5. [1020. 飞地的数量](algorithm/1020. 飞地的数量.md)
  6. [417. 太平洋大西洋水流问题](algorithm/417. 太平洋大西洋水流问题.md)
  7. [827. 最大人工岛](algorithm/827. 最大人工岛.md)
  8. [127. 单词接龙](algorithm/127. 单词接龙.md)
  9. [79. 单词搜索](algorithm/79. 单词搜索.md)

十四 并查集

  1. [1971. 寻找图中是否存在路径](algorithm/1971. 寻找图中是否存在路径.md)
  2. [684. 冗余连接](algorithm/684. 冗余连接.md)
  3. [685. 冗余连接 II](algorithm/685. 冗余连接 II.md)
  4. [130. 被围绕的区域](algorithm/130. 被围绕的区域.md)
  5. [130. 被围绕的区域](algorithm/130. 被围绕的区域.md)
  6. [130. 被围绕的区域](algorithm/130. 被围绕的区域.md)
  7. [130. 被围绕的区域](algorithm/130. 被围绕的区域.md)
  8. [130. 被围绕的区域](algorithm/130. 被围绕的区域.md)

About

个人LeetCode做题记录

License:MIT License