LeetCode刷题指南

数组

  1. 两数之和
    题目:https://leetcode-cn.com/problems/two-sum/
    难度:简单
    解答:no0001
    相似题目:167. 两数之和 II - 输入有序数组

题目:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/
难度:简单
解答:no0167
相似题目:015. 三数之和

题目:https://leetcode-cn.com/problems/3sum/
难度:中等
解答:no0015
相似题目:016. 最接近的三数之和

题目:https://leetcode-cn.com/problems/3sum-closest/
难度:中等
解答:no0016
相似题目:018. 四数之和

题目:https://leetcode-cn.com/problems/4sum/
难度:中等
解答:no0018
相似题目:454. 四数相加 II

题目:https://leetcode-cn.com/problems/4sum/
难度:中等
解答:no0454
相似题目:633. 平方数之和

题目:https://leetcode-cn.com/problems/sum-of-square-numbers/
难度:简单
解答:no0633

  1. 盛最多水的容器
    题目:https://leetcode-cn.com/problems/container-with-most-water/
    难度:中等
    解答:no0011
    相似题目:042. 接雨水

题目:https://leetcode-cn.com/problems/trapping-rain-water/
难度:困难
解答:no0042

  1. 移动零
    题目:https://leetcode-cn.com/problems/move-zeroes/description/
    难度:简单
    解答:no0283
    相似题目:027. 移除元素

题目:https://leetcode-cn.com/problems/remove-element/
难度:简单
解答:no0027
相似题目:026. 删除排序数组中的重复项

题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/
难度:简单
解答:no0026
相似题目:080. 删除排序数组中的重复项 II

题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii/
难度:中等
解答:no0080

  1. 最大连续 1 的个数
    题目:https://leetcode-cn.com/problems/max-consecutive-ones/
    难度:简单
    解答:no0485

  2. 错误的集合
    题目:https://leetcode-cn.com/problems/set-mismatch/
    难度:简单
    解答:no0645
    相似题目:448. 找到所有数组中消失的数字

题目:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/
难度:简单
解答:no0448
相似题目:442. 找到所有数组中消失的数字

题目:https://leetcode-cn.com/problems/find-all-duplicates-in-an-array/
难度:中等
解答:no0442

  1. 优美的排列 II
    题目:https://leetcode-cn.com/problems/beautiful-arrangement-ii/
    难度:中等
    解答:no0667
    备注:找规律,更像一个【数学题】。

  2. 数组的度
    题目:https://leetcode-cn.com/problems/degree-of-an-array/
    难度:简单
    解答:no0697

  3. 嵌套数组
    题目:https://leetcode-cn.com/problems/array-nesting/
    难度:中等
    解答:no0565

  4. 最多能完成排序的块
    题目:https://leetcode-cn.com/problems/max-chunks-to-make-sorted/
    难度:中等
    解答:no0769
    备注:找规律,更像一个【数学题】。
    相似题目:768. 最多能完成排序的块 II

题目:https://leetcode-cn.com/problems/max-chunks-to-make-sorted-ii/
难度:困难
解答:no0768

  1. 有序数组的平方

题目:https://leetcode-cn.com/problems/squares-of-a-sorted-array/
难度:简单
解答:no0997

  1. 杨辉三角
    题目:https://leetcode-cn.com/problems/pascals-triangle/
    难度:简单
    解答:no0118
    相似题目:119. 杨辉三角 II

题目:https://leetcode-cn.com/problems/pascals-triangle-ii/
难度:简单
解答:no0119

  1. 旋转数组
    题目:https://leetcode-cn.com/problems/rotate-array/
    难度:简单
    解答:no0189

  2. 除自身以外数组的乘积
    题目:https://leetcode-cn.com/problems/product-of-array-except-self/
    难度:中等
    解答:no0238
    矩阵

  3. 托普利茨矩阵
    题目:https://leetcode-cn.com/problems/toeplitz-matrix/
    难度:简单
    解答:no0766

  4. 重塑矩阵
    题目:https://leetcode-cn.com/problems/reshape-the-matrix/
    难度:简单
    解答:no0566

  5. 搜索二维矩阵
    题目:https://leetcode-cn.com/problems/search-a-2d-matrix/
    难度:中等
    解答:no0074

  6. 搜索二维矩阵 II
    题目:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/
    难度:中等
    解答:no0240

  7. 螺旋矩阵
    题目:https://leetcode-cn.com/problems/spiral-matrix/
    难度:中等
    解答:no0054

  8. 矩阵置零
    题目:https://leetcode-cn.com/problems/set-matrix-zeroes/
    难度:中等
    解答:no0073

字符串

  1. 实现 strStr()
    题目:https://leetcode-cn.com/problems/implement-strstr/
    难度:简单
    解答:no0028

  2. 有效的字母异位词
    题目:https://leetcode-cn.com/problems/valid-anagram/
    难度:简单
    解答:no0242
    相似题目:049. 字母异位词分组

题目:https://leetcode-cn.com/problems/group-anagrams/
难度:中等
解答:no0049

  1. 字符串同构
    题目:https://leetcode-cn.com/problems/isomorphic-strings/
    难度:简单
    解答:no0205

  2. 验证回文串
    题目:https://leetcode-cn.com/problems/valid-palindrome/
    难度:简单
    解答:no0125
    相似题目:680. 验证回文字符串 Ⅱ

题目:https://leetcode-cn.com/problems/valid-palindrome-ii/
难度:简单
解答:no0680
相似题目:409. 最长回文串

题目:https://leetcode-cn.com/problems/longest-palindrome/
难度:简单
解答:no0409
相似题目:009. 判断一个整数是否是回文数

题目:https://leetcode-cn.com/problems/palindrome-number/
难度:简单
解答:no0009

  1. 反转字符串
    题目:https://leetcode-cn.com/problems/reverse-string/
    难度:简单
    解答:no0344
    相似题目:345. 反转字符串中的元音字母

这道题目,刚一看,一脸懵逼。可以简单理解成,需要将元音字母之间,做兑换。例如说,第一个元音字符和倒数一个元音字符对换,第二个原因字符和倒数第二个元音字符对换。而元音字母是 aeiouAEIOU 。

题目:https://leetcode-cn.com/problems/reverse-vowels-of-a-string/
难度:简单
解答:no0345

  1. 通过删除字母匹配到字典里最长单词
    题目:https://leetcode-cn.com/problems/longest-word-in-dictionary-through-deleting/
    难度:中等
    解答:no0524

  2. 无重复字符的最长子串
    题目:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
    难度:中等
    解答:no0003

基于滑动窗口实现

相似题目:159. 至多包含两个不同字符的最长子串

题目:https://leetcode-cn.com/problems/longest-substring-with-at-most-two-distinct-characters/
难度:困难
解答:no0159
相似题目:340. 至多包含两个不同字符的最长子串

题目:https://leetcode-cn.com/problems/longest-substring-with-at-most-k-distinct-characters/
难度:困难
解答:no0340

  1. 计数二进制子串
    题目:https://leetcode-cn.com/problems/count-binary-substrings/
    难度:简单
    解答:no0696

  2. 翻转字符串里的单词
    题目:https://leetcode-cn.com/problems/reverse-words-in-a-string/
    难度:中等
    解答:no0151
    相似题目:557. 反转字符串中的单词 III

题目:https://leetcode-cn.com/problems/reverse-words-in-a-string-iii/
难度:简单
解答:no0557

  1. 字符串转换整数 (atoi)
    题目:https://leetcode-cn.com/problems/string-to-integer-atoi/
    难度:中等
    解答:no0008

链表

每次写链表,都蛮头疼的。如果在搭配上递归的方式,简直就是一脸懵逼。

往往链表的答案不复杂,就是懵逼啊懵逼。

  1. 设计链表
    题目:https://leetcode-cn.com/problems/design-linked-list/
    难度:简单
    解答:no0707

我猜测,一次通过的胖友,基本没有,嘿嘿,虽然是个简单题。

  1. 两数相加
    题目:https://leetcode-cn.com/problems/add-two-numbers/
    难度:简单
    解答:no0002
    相似题目:445. 两数相加 II

题目:https://leetcode-cn.com/problems/add-two-numbers-ii/
难度:中等
解答:no0445

  1. 两两交换链表中的节点
    题目:https://leetcode-cn.com/problems/swap-nodes-in-pairs/
    难度:中等
    解答:no0024

注意点,交换时,不仅仅要考虑交换的两个节点,还要考虑,之前的节点,指向新的节点。

相似题目:234. 回文链表

题目:https://leetcode-cn.com/problems/palindrome-linked-list/
难度:简单
解答:no0234
相似题目:206. 反转链表

题目:https://leetcode-cn.com/problems/reverse-linked-list/
难度:简单
解答:no0206
相似题目:092. 反转链表 II

题目:https://leetcode-cn.com/problems/reverse-linked-list-ii/
难度:中等
解答:no0092
相似题目:025. K 个一组翻转链表

题目:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/
难度:困难
解答:no0025
相似题目 061. 旋转链表

题目:https://leetcode-cn.com/problems/rotate-list/
难度:中等
解答:no0061

  1. 删除排序链表中的重复元素
    题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/
    难度:简单
    解答:no0083
    相似题目:082. 删除排序链表中的重复元素 II

题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/
难度:中等
解答:no0082

  1. 相交链表
    题目:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/
    难度:简单
    解答:no0160
    相似题目:141. 环形链表

题目:https://leetcode-cn.com/problems/linked-list-cycle/
难度:简单
解答:no0141
相似题目:142. 环形链表 II

题目:https://leetcode-cn.com/problems/max-chunks-to-make-sorted-ii/
难度:中等
解答:no0142

  1. 排序链表
    题目:https://leetcode-cn.com/problems/sort-list/
    难度:中等
    解答:no0148
    相似题目:147. 对链表进行插入排序

题目:https://leetcode-cn.com/problems/insertion-sort-list/
难度:中等
解答:no0147

  1. 合并两个有序链表
    题目:https://leetcode-cn.com/problems/merge-k-sorted-lists/
    难度:简单
    解答:no0021
    相似题目:023. 合并K个排序链表

题目:https://leetcode-cn.com/problems/merge-k-sorted-lists/
难度:困难
解答:no0023

  1. 分隔链表
    题目:https://leetcode-cn.com/problems/split-linked-list-in-parts/
    难度:中等
    解答:no0725
    相似题目:328. 奇偶链表

题目:https://leetcode-cn.com/problems/merge-k-sorted-lists/
难度:困难
解答:no0023

  1. 分隔链表
    题目:https://leetcode-cn.com/problems/split-linked-list-in-parts/
    难度:中等
    解答:no0725

  2. 分隔链表
    题目:https://leetcode-cn.com/problems/partition-list/
    难度:中等
    解答:no0086

二分查找

其实我们已经在前面做了一堆二分查找的题目,嘿嘿。

当然,本小节,我们会看到很多略微变种的二分查找。

  1. 寻找重复数
    题目:https://leetcode-cn.com/problems/find-the-duplicate-number/
    难度:中等
    解答:no0287
    备注:有三种解答,不同时间复杂度,胖友要注意看。
    最佳解是,经典的弗洛伊德的乌龟和兔子(循环检测)。 可能看弗洛伊德的乌龟和兔子,整个推导的过程比较懵逼,耐心。

  2. 搜索插入位置
    题目:https://leetcode-cn.com/problems/search-insert-position/
    难度:简单
    解答:no0035
    相似题目:744. 寻找比目标字母大的最小字母

题目:https://leetcode-cn.com/problems/search-insert-position/
难度:简单
解答:no0744
相似题目:034. 在排序数组中查找元素的第一个和最后一个位置

题目:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/
难度:中等
解答:no0034
相似题目:704. 二分查找

题目:https://leetcode-cn.com/problems/binary-search/solution/er-fen-cha-zhao-xiang-jie-by-labuladong/
难度:简单
解答:no0704
相似题目:981. 基于时间的键值存储

题目:https://leetcode-cn.com/problems/time-based-key-value-store/
难度:中等
解答:no0981
相似题目:278. 第一个错误的版本

题目:https://leetcode-cn.com/problems/first-bad-version/
难度:简单
解答:no0278

  1. 寻找旋转排序数组中的最小值
    题目:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/
    难度:中等
    解答:no0153
    相似题目:154. 搜索旋转排序数组

题目:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/
难度:困难
解答:no0154
相似题目:033. 搜索旋转排序数组

题目:https://leetcode-cn.com/problems/search-in-rotated-sorted-array/
难度:中等
解答:no0033
相似题目:081. 搜索旋转排序数组 II

题目:https://leetcode-cn.com/problems/search-in-rotated-sorted-array-ii/
难度:中等

假设 154 是困难,那么这题,应该也是困难…

解答:no0081

  1. 山脉数组的峰顶索引
    题目:https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/
    难度:简单
    解答:no0852
    相似题目:162. 寻找峰值

题目:https://leetcode-cn.com/problems/find-peak-element/
难度:中等
解答:no0162

  1. x 的平方根
    题目:https://leetcode-cn.com/problems/sqrtx/
    难度:简单
    解答:no0069
    相似题目:367. 有效的完全平方数

题目:https://leetcode-cn.com/problems/powx-n/
难度:简单
解答:no0367
相似题目:540. 有序数组中的单一元素

题目:https://leetcode-cn.com/problems/single-element-in-a-sorted-array/
难度:中等
解答:no0540

栈和队列

这个小节里,我们把「滑动窗口」,也归类在这里。未来,可能会拆分出去。

  1. 用队列实现栈
    题目:https://leetcode-cn.com/problems/implement-queue-using-stacks/
    难度:简单
    解答:no0232
    相似题目:225. 用队列实现栈

题目:https://leetcode-cn.com/problems/implement-stack-using-queues/
难度:简单
解答:no0225

  1. 最小栈
    题目:https://leetcode-cn.com/problems/min-stack/
    难度:简单
    解答:no0155
    相似题目:716. 最大栈

题目:https://leetcode-cn.com/problems/max-stack/
难度:简单
解答:no0716

  1. 有效的括号
    题目:https://leetcode-cn.com/problems/valid-parentheses/
    难度:简单
    解答:no0020
    相似题目:1003. 检查替换后的词是否有效

题目:https://leetcode-cn.com/problems/check-if-word-is-valid-after-substitutions/
难度:中等
解答:no1003

  1. 下一个更大元素 I
    题目:https://leetcode-cn.com/problems/next-greater-element-i/
    难度:简单
    解答:no0496
    相似题目:503. 下一个更大元素 II

题目:https://leetcode-cn.com/problems/next-greater-element-ii/
难度:中等
解答:no0503
相似题目:739. 每日温度

题目:https://leetcode-cn.com/problems/daily-temperatures/
难度:中等
解答:no0739
相似题目:239. 滑动窗口最大值

题目:https://leetcode-cn.com/problems/sliding-window-maximum/
难度:困难
解答:no0239
相似题目:076. 最小覆盖子串

题目:https://leetcode-cn.com/problems/minimum-window-substring/
难度:困难
解答:no0076
相似题目:438. 找到字符串中所有字母异位词

题目:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/
难度:简单
解答:no0438

递归

  1. 括号的分数
    题目:https://leetcode-cn.com/problems/score-of-parentheses/
    难度:中等
    解答:no0856

  2. 字符串解码
    题目:https://leetcode-cn.com/problems/decode-string/
    难度:中等
    解答:no0394
    相似题目:726. 原子的数量

题目:https://leetcode-cn.com/problems/number-of-atoms/
难度:困难
解答:no0726

排序

  1. 数组中的第 K 个最大元素
    题目:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/
    难度:中等
    解答:no0215
    堆排序
    快速排序

  2. 前 K 个高频元素
    题目:https://leetcode-cn.com/problems/top-k-frequent-elements/
    难度:中等
    解答:no0347
    计数排序 + 快速排序
    相似题目:451. 根据字符出现频率排序

题目:https://leetcode-cn.com/problems/sort-characters-by-frequency/
难度:中等
解答:no0415

  1. 颜色分类
    题目:https://leetcode-cn.com/problems/sort-colors/
    难度:中等
    解答:no0075
    哈希表

  2. 存在重复元素
    题目:https://leetcode-cn.com/problems/contains-duplicate/
    难度:简单
    解答:no0217
    相似题目:219. 存在重复元素 II

题目:https://leetcode-cn.com/problems/contains-duplicate-ii/
难度:简单
解答:no0219
相似题目:220. 存在重复元素 III

题目:https://leetcode-cn.com/problems/contains-duplicate-iii/
难度:中等
解答:no0220
平衡二叉树
桶排序, 可以通过这个题目练习下。

  1. 最长和谐子序列
    题目:https://leetcode-cn.com/problems/longest-harmonious-subsequence/
    难度:简单
    解答:no0594

  2. 最长连续序列
    题目:https://leetcode-cn.com/problems/longest-consecutive-sequence/
    难度:困难
    解答:no0128

  3. 字符串中的第一个唯一字符
    题目:https://leetcode-cn.com/problems/first-unique-character-in-a-string/
    难度:简单
    解答:no0387

本小节,题目蛮多的,淡定。

另外,会包括一些二叉搜索树的题目,主要考虑相似题。

  1. 二叉树的最大深度
    题目:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
    难度:简单
    解答:no0104
    相似题目:111. 二叉树的最小深度

题目:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/
难度:简单
解答:no0111
相似题目:110. 平衡二叉树

题目:https://leetcode-cn.com/problems/balanced-binary-tree/
难度:简单
解答:no0110
相似题目:543. 两节点的最长路径

题目:https://leetcode.com/problems/diameter-of-binary-tree/
难度:简单
解答:no0543

  1. 路径总和
    题目:https://leetcode-cn.com/problems/path-sum/
    难度:简单
    解答:no0112
    相似题目:113. 路径总和 II

题目:https://leetcode-cn.com/problems/path-sum-ii/
难度:中等
解答:no0113
相似题目:437. 路径总和 III

题目:https://leetcode-cn.com/problems/path-sum-iii/
难度:简单
解答:no0437
相似题目:666. 路径总和 IIII

题目:https://leetcode-cn.com/problems/path-sum-iiii/
难度:简单
解答:no0666
相似题目:687. 最长同值路径

题目:https://leetcode-cn.com/problems/longest-univalue-path/
难度:简单
解答:no0687
相似题目:二叉树的所有路径

题目:https://leetcode-cn.com/problems/binary-tree-paths/
难度:简单
解答:no0257
相似题目:129. 求根到叶子节点数字之和

题目:https://leetcode-cn.com/problems/binary-tree-maximum-path-sum/
难度:中等
解答:no0129
相似题目:124. 二叉树中的最大路径和

题目:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers/
难度:困难
解答:no0124
相似题目:508. 出现次数最多的子树元素和

题目:https://leetcode-cn.com/problems/most-frequent-subtree-sum/>
难度:中等
解答:no0508

  1. 翻转二叉树
    题目:https://leetcode-cn.com/problems/invert-binary-tree/
    难度:简单
    解答:no0226

  2. 合并二叉树
    题目:https://leetcode-cn.com/problems/merge-two-binary-trees/
    难度:简单
    解答:no0617

  3. 另一个树的子树
    题目:https://leetcode-cn.com/problems/subtree-of-another-tree/
    难度:简单
    解答:no0572
    相似题目:100. 相同的树

题目:https://leetcode-cn.com/problems/same-tree/
难度:简单
解答:no0100
相似题目:965. 单值二叉树

题目:https://leetcode-cn.com/problems/univalued-binary-tree/
难度:简单
解答:no0965
相似题目:872. 叶子相似的树

题目:https://leetcode-cn.com/problems/leaf-similar-trees/
难度:简单
解答:no0872
相似题目:101. 对称二叉树

题目:https://leetcode-cn.com/problems/symmetric-tree/
难度:简单
解答:no0101

  1. 打家劫舍 III
    题目:https://leetcode-cn.com/problems/house-robber-iii/
    难度:中等
    解答:no0337
    暴力 DFS 递归
    经典的树状动态规划

  2. 二叉树中第二小的节点
    题目:https://leetcode-cn.com/problems/second-minimum-node-in-a-binary-tree/
    难度:简单
    解答:no0671
    相似题目:230. 二叉搜索树中第K小的元素

题目:https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/
难度:中等
解答:no0230

  1. 二叉树的层平均值
    题目:https://leetcode-cn.com/problems/average-of-levels-in-binary-tree/
    难度:简单
    解答:no0637
    相似题目:102. 二叉树的层次遍历

题目:https://leetcode-cn.com/problems/binary-tree-level-order-traversal/
难度:中等
解答:no0102
相似题目:107. 二叉树的层次遍历 II

题目:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
难度:简单
解答:no0107

  1. 找树左下角的值
    题目:https://leetcode-cn.com/problems/find-bottom-left-tree-value/
    难度:简单
    解答:no0517

  2. 二叉树的前序遍历
    题目:https://leetcode-cn.com/problems/find-bottom-left-tree-value/
    难度:中等
    解答:no0144
    相似题目:094. 二叉树的中序遍历

题目:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/
难度:中等
解答:no0094
相似题目:145. 二叉树的后序遍历

题目:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/
难度:困难
解答:no0145
相似题目:589. N 叉树的前序遍历

题目:https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/
难度:简单
解答:no0589
相似题目:429. N 叉树的层序遍历

题目:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal/
难度:简单
解答:no0429
相似题目:590. N 叉树的后序遍历

题目:https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/
难度:简单
解答:no0590
相似题目:987. 二叉树的垂序遍历

题目:https://leetcode-cn.com/problems/vertical-order-traversal-of-a-binary-tree/
难度:中等
解答:no0987

  1. 二叉树的序列化与反序列化
    题目:https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/
    难度:困难
    解答:no0297
    相似题目:449. 序列化和反序列化二叉搜索树

题目:https://leetcode-cn.com/problems/serialize-and-deserialize-bst/
难度:中等
解答:no0449

  1. 二叉树的最近公共祖先
    题目:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/
    难度:中等
    解答:no0236
    相似题目:235. 二叉搜索树的最近公共祖先

题目:https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/
难度:简单
解答:no0235

  1. 二叉树剪枝
    题目:https://leetcode-cn.com/problems/binary-tree-pruning/
    难度:简单
    解答:no0814

二叉搜索树

  1. 二叉搜索树中的众数
    题目:https://leetcode-cn.com/problems/find-mode-in-binary-search-tree/
    难度:简单
    解答:no0501
    相似题目:098. 验证二叉搜索树

题目:https://leetcode-cn.com/problems/validate-binary-search-tree/
难度:中等
解答:no0098
相似题目:530. 二叉搜索树的最小绝对差

题目:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst/
难度:简单
解答:no0530
相似题目:538. 把二叉搜索树转换为累加树

题目:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/
难度:简单
解答:no0538
相似题目:653. 两数之和 IV - 输入 BST

题目:https://leetcode-cn.com/problems/two-sum-iv-input-is-a-bst/
难度:简单
解答:no0653

  1. 将有序数组转换为二叉搜索树
    题目:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/
    难度:简单
    解答:no0108
    相似题目:109. 有序链表转换二叉搜索树

题目:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-tree/
难度:中等
解答:no0109

  1. 二叉搜索树中的搜索
    题目:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/
    难度:简单
    解答:no0700
    相似题目:701. 二叉搜索树中的插入操作

题目:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/
难度:中等
解答:no0701
相似题目:450. 删除二叉搜索树中的节点

题目:https://leetcode-cn.com/problems/delete-node-in-a-bst/
难度:中等
解答:no0450
相似题目:776. 拆分二叉搜索树

题目:https://leetcode-cn.com/problems/split-bst/
难度:中等
解答:no0776
相似题目:669. 修剪二叉搜索树

题目:https://leetcode-cn.com/problems/trim-a-binary-search-tree/
难度:简单
解答:no0669

  1. 恢复二叉搜索树
    题目:https://leetcode-cn.com/problems/recover-binary-search-tree/
    难度:困难
    解答:no0099

字典树

  1. 实现 Trie (前缀树)
    题目:https://leetcode-cn.com/problems/implement-trie-prefix-tree/
    难度:中等
    解答:no0208
    相似题目:键值映射

题目:https://leetcode-cn.com/problems/map-sum-pairs/
难度:中等
解答:no0677

BFS && DFS

考虑到很多题目,既可以用广度优先搜索,也可以使用深度优先搜索。所以,放在一个小节。

  1. 判断二分图
    题目:https://leetcode-cn.com/problems/is-graph-bipartite/
    难度:中等
    解答:no0785

  2. 克隆图
    题目:https://leetcode-cn.com/problems/clone-graph/
    难度:中等
    解答:no0133
    相似题目:138. 复制带随机指针的链表

题目:https://leetcode-cn.com/problems/copy-list-with-random-pointer/
难度:中等
解答:no0138

  1. 图像渲染
    题目:https://leetcode-cn.com/problems/flood-fill/
    难度:简单
    解答:no0733
    相似题目:827. 最大人工岛

题目:https://leetcode-cn.com/problems/making-a-large-island/
难度:困难
解答:no0827

  1. 完全平方数
    题目:https://leetcode-cn.com/problems/perfect-squares/
    难度:中等
    解答:no0279

  2. 单词接龙
    题目:https://leetcode-cn.com/problems/word-ladder/
    难度:中等
    解答:no0127
    相似题目:126. 单词接龙 II

题目:https://leetcode-cn.com/problems/word-ladder-ii/
难度:困难
解答:no0126
相似题目:433. 最小基因变化

题目:https://leetcode-cn.com/problems/minimum-genetic-mutation/
难度:中等
解答:no0433
相似题目:752. 打开转盘锁

题目:https://leetcode-cn.com/problems/open-the-lock/
难度:中等
解答:no0752

  1. 岛屿的最大面积
    题目:https://leetcode-cn.com/problems/max-area-of-island/
    难度:中等
    解答:no0695
    相似题目:200. 岛屿数量

题目:https://leetcode-cn.com/problems/number-of-islands/
难度:中等
解答:no0200
相似题目:130. 被围绕的区域

题目:https://leetcode-cn.com/problems/surrounded-regions/
难度:中等
解答:no0130

  1. 朋友圈
    题目:https://leetcode-cn.com/problems/friend-circles/
    难度:中等
    解答:no0547

  2. 太平洋大西洋水流问题
    题目:https://leetcode-cn.com/problems/pacific-atlantic-water-flow/
    难度:中等
    解答:no0417

  3. 钥匙和房间
    题目:https://leetcode-cn.com/problems/keys-and-rooms/
    难度:中等
    解答:no0841

  4. 01 矩阵
    题目:https://leetcode-cn.com/problems/01-matrix/
    难度:中等
    解答:no0542
    相似题目:934. 最短的桥

题目:https://leetcode-cn.com/problems/shortest-bridge/
难度:中等
解答:no0934
相似题目:675. 为高尔夫比赛砍树

题目:https://leetcode-cn.com/problems/cut-off-trees-for-golf-event/
难度:中等
解答:no0675

并查集

实际上,并查集的题目,是可以使用 BFS 和 DFS 进行实现的,所以本小节题目不会放很多。很多题目,我们在 「BFS && DFS」 小节,顺手去写了下。

  1. 冗余连接
    题目:https://leetcode-cn.com/problems/redundant-connection/
    难度:中等
    解答:no0684

拓扑排序

  1. 课程表
    题目:https://leetcode-cn.com/problems/course-schedule/
    难度:中等
    解答:no0207
    相似题目:210. 课程表 II

题目:https://leetcode-cn.com/problems/course-schedule-ii/
难度:中等
解答:no0210

  1. 找到最终的安全状态
    题目:https://leetcode-cn.com/problems/find-eventual-safe-states/
    难度:中等
    解答:no0802

回溯算法

我们会发现,很多回溯算法,是使用 DFS 进行实现。回溯算法是一种思想,常常使用 DFS 算法的方式,进行实现。

  1. 电话号码的字母组合
    题目:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
    难度:中等
    解答:no0017
    相似题目:022. 括号生成

题目:https://leetcode-cn.com/problems/generate-parentheses/
难度:中等
解答:no0022
相似题目:301. 删除无效的括号

题目:https://leetcode-cn.com/problems/remove-invalid-parentheses/
难度:困难
解答:no0301

  1. 复原IP地址
    题目:https://leetcode-cn.com/problems/restore-ip-addresses/
    难度:中等
    解答:no0093

  2. 单词搜索
    题目:https://leetcode-cn.com/problems/word-search/
    难度:中等
    解答:no0079
    相似题目:212. 单词搜索 II

题目:https://leetcode-cn.com/problems/word-search-ii/
难度:困难
解答:no0212

  1. 全排列
    题目:https://leetcode-cn.com/problems/permutations/
    难度:中等
    解答:no0046
    相似题目:047. 全排列 II

题目:https://leetcode-cn.com/problems/permutations-ii/
难度:中等
解答:no0047
相似题目:996. 正方形数组的数目

题目:https://leetcode-cn.com/problems/number-of-squareful-arrays/
难度:困难
解答:no0996
相似题目:077. 组合

题目:https://leetcode-cn.com/problems/combinations/
难度:中等
解答:no0077
相似题目:784. 字母大小写全排列

题目:https://leetcode-cn.com/problems/letter-case-permutation/
难度:简单
解答:no0784
相似题目:039. 组合总和

题目:https://leetcode-cn.com/problems/combination-sum/
难度:中等
解答:no0039
相似题目:040. 组合总和 II

题目:https://leetcode-cn.com/problems/combination-sum-ii/
难度:中等
解答:no0040
相似题目:216. 组合总和 III

题目:https://leetcode-cn.com/problems/combination-sum-iii/
难度:中等
解答:no0216
相似题目:282. 给表达式添加运算符

题目:https://leetcode-cn.com/problems/expression-add-operators/
难度:困难
解答:no0282

  1. 子集
    题目:https://leetcode-cn.com/problems/subsets/
    难度:中等
    解答:no0078
    相似题目:090. 子集 II

题目:https://leetcode-cn.com/problems/subsets-ii/
难度:中等
解答:no0090

  1. 分割回文串
    题目:https://leetcode-cn.com/problems/palindrome-partitioning/
    难度:中等
    解答:no0131

  2. 将数组拆分成斐波那契序列
    题目:https://leetcode-cn.com/problems/split-array-into-fibonacci-sequence/
    难度:中等
    解答:no0842

  3. 解数独
    题目:https://leetcode-cn.com/problems/sudoku-solver/
    难度:困难
    解答:no0037
    相似题目:051. N皇后

题目:https://leetcode-cn.com/problems/n-queens/
难度:中等
解答:no0051
相似题目:052. N皇后

题目:https://leetcode-cn.com/problems/n-queens-ii/
难度:中等
解答:no0052

分治算法

  1. 为运算表达式设计优先级
    题目:https://leetcode-cn.com/problems/different-ways-to-add-parentheses/
    难度:中等
    解答:no0241

  2. 不同的二叉搜索树
    题目:https://leetcode-cn.com/problems/unique-binary-search-trees/
    难度:中等
    解答:no0096
    相似题目:095. 不同的二叉搜索树 II

题目:https://leetcode-cn.com/problems/unique-binary-search-trees-ii/
难度:中等
解答:no0095
关于下面的众数的题目,只有 169 是通过分治算法解决,并且还不是最优解。最优是 “Boyer-Moore 投票算法” 。

  1. 求众数
    题目:https://leetcode-cn.com/problems/majority-element/
    难度:简单
    解答:no0169
    相似题目:229. 求众数 II

题目:https://leetcode-cn.com/problems/majority-element-ii/
难度:中等
解答:no0229

贪心算法

  1. 分发饼干
    题目:https://leetcode-cn.com/problems/assign-cookies/
    难度:简单
    解答:no0455

  2. 无重叠区间
    题目:https://leetcode-cn.com/problems/non-overlapping-intervals/
    难度:中等
    解答:no0435
    相似题目:452. 用最少数量的箭引爆气球

题目:https://leetcode-cn.com/problems/minimum-number-of-arrows-to-burst-balloons/
难度:中等
解答:no0452

  1. 根据身高重建队列
    题目:https://leetcode-cn.com/problems/queue-reconstruction-by-height/
    难度:中等
    解答:no0406

  2. 买卖股票的最佳时机
    题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/
    难度:简单
    解答:no0121
    相似题目:122. 买卖股票的最佳时机 II

题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/
难度:简单
解答:no0122

  1. 判断子序列
    题目:https://leetcode-cn.com/problems/is-subsequence/
    难度:简单
    解答:no0392

  2. 跳跃游戏
    题目:https://leetcode-cn.com/problems/is-subsequence/
    难度:简单
    解答:no0053

  3. 划分字母区间
    题目:https://leetcode-cn.com/problems/partition-labels/
    难度:中等
    解答:no0763

  4. 跳跃游戏
    题目:https://leetcode-cn.com/problems/jump-game/
    难度:中等
    解答:no0055
    相似题目:045. 跳跃游戏 II

题目:https://leetcode-cn.com/problems/jump-game-ii/
难度:困难
解答:no0045

动态规划 DOING

TODO 需要整理下

动态规划题型

0-1 背包
斐波那契数列

  1. 斐波那契数
    题目:https://leetcode-cn.com/problems/fibonacci-number/
    难度:简单
    解答:no0509
    相似题目:070. 爬楼梯

题目:https://leetcode-cn.com/problems/climbing-stairs/
难度:简单
解答:no0070
相似题目:746. 使用最小花费爬楼梯

题目:https://leetcode-cn.com/problems/min-cost-climbing-stairs/
难度:简单
解答:no0746

  1. 打家劫舍
    题目:https://leetcode-cn.com/problems/house-robber/
    难度:简单
    解答:no0198
    相似题目:213. 打家劫舍 II

题目:https://leetcode-cn.com/problems/house-robber-II/
难度:中等
解答:no0213

  1. 最小路径和
    题目:https://leetcode-cn.com/problems/minimum-path-sum/
    难度:中等
    解答:no0064
    相似题目:062. 不同路径

题目:https://leetcode-cn.com/problems/unique-paths/
难度:中等
解答:no0062
相似题目:063. 不同路径 II

题目:https://leetcode-cn.com/problems/unique-paths-ii/
难度:中等
解答:no0063

  1. 区域和检索 - 数组不可变
    题目:https://leetcode-cn.com/problems/range-sum-query-immutable/
    难度:简单
    解答:no0303

  2. 等差数列划分
    题目:https://leetcode-cn.com/problems/arithmetic-slices/
    难度:中等
    解答:no0413

  3. 整数拆分
    题目:https://leetcode-cn.com/problems/integer-break/
    难度:中等
    解答:no0343

  4. 解码方法
    题目:https://leetcode-cn.com/problems/decode-ways/
    难度:中等
    解答:no0091

  5. 分割等和子集
    题目:https://leetcode-cn.com/problems/partition-equal-subset-sum/
    难度:中等
    解答:no0416

  6. 目标和
    题目:https://leetcode-cn.com/problems/target-sum/
    难度:中等
    解答:no0494

  7. 一和零
    题目:https://leetcode-cn.com/problems/ones-and-zeroes/
    难度:中等
    解答:no0474

  8. 零钱兑换
    题目:https://leetcode-cn.com/problems/coin-change/
    难度:中等
    解答:no0322
    相似题目:518. 零钱兑换 II

题目:https://leetcode-cn.com/problems/coin-change-2/
难度:中等
解答:no0518
相似题目:377. 组合总和 Ⅳ

题目:https://leetcode-cn.com/problems/combination-sum-iv/
难度:中等
解答:no0377

  1. 单词拆分
    题目:https://leetcode-cn.com/problems/word-break/
    难度:中等
    解答:no0139

  2. 最佳买卖股票时机含冷冻期
    题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/
    难度:中等
    解答:no0309
    相似题目:714. 买卖股票的最佳时机含手续费

题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/
难度:中等
解答:no0714
相似题目:123. 买卖股票的最佳时机 III

题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/
难度:困难
解答:no0123
相似题目:188. 买卖股票的最佳时机 IV

题目:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iv/
难度:困难
解答:no0188

  1. 最大正方形
    题目:https://leetcode-cn.com/problems/maximal-square/
    难度:中等
    解答:no0221
    相似题目:085. 最大矩形

题目:https://leetcode-cn.com/problems/maximal-rectangle/
难度:困难
解答:no0085
相似题目:84. 柱状图中最大的矩形

题目:https://leetcode-cn.com/problems/largest-rectangle-in-histogram/
难度:困难
解答:no0084

  1. 乘积最大子序列
    题目:https://leetcode-cn.com/problems/maximum-product-subarray/
    难度:中等
    解答:no0152
    位运算
    位操作很骚,有些想不到,真的就是想不到。

  2. 汉明距离
    题目:https://leetcode-cn.com/problems/hamming-distance/
    难度:简单
    解答:no0461

  3. 只出现一次的数字
    题目:https://leetcode-cn.com/problems/single-number/
    难度:简单
    解答:no0136
    相似题目:268. 缺失数字

题目:https://leetcode-cn.com/problems/missing-number/
难度:简单
解答:no0268
相似题目:260. 只出现一次的数字 III

题目:https://leetcode-cn.com/problems/single-number-iii/
难度:中等
解答:no0260

  1. 颠倒二进制位
    题目:https://leetcode-cn.com/problems/reverse-bits/
    难度:简单
    解答:no0190

  2. 2 的幂
    题目:https://leetcode-cn.com/problems/power-of-two/
    难度:简单
    解答:no0231
    相似题目:342. 4 的幂

题目:https://leetcode-cn.com/problems/power-of-four/
难度:简单
解答:no0342

  1. 交替位二进制数
    题目:https://leetcode-cn.com/problems/binary-number-with-alternating-bits/
    难度:简单
    解答:no0693

  2. 数字的补数
    题目:https://leetcode-cn.com/problems/number-complement/
    难度:简单
    解答:no0476

  3. 两整数之和
    题目:https://leetcode-cn.com/problems/sum-of-two-integers/
    难度:简单
    解答:no0371

  4. 最大单词长度乘积
    题目:https://leetcode-cn.com/problems/maximum-product-of-word-lengths/
    难度:
    解答:no0318

  5. 位1的个数
    题目:https://leetcode-cn.com/problems/number-of-1-bits/
    难度:简单
    解答:no0191
    相似题目:338. 比特位计数

题目:https://leetcode-cn.com/problems/counting-bits/
难度:中等
解答:no0338
数学 TODO
TODO

你可能感兴趣的:(LeetCode刷题指南)