没个目录之前文章查起来太不方便,有个索引,速度翻倍。
- 前端算法面试必刷题系列[1]
-
- 两数之和 (two-sum)
Map
-
- 两数相加 (add-two-numbers)
-
- 无重复字符的最长子串 (longest-substring-without-repeating-characters)
滑动窗口
-
- 前端算法面试必刷题系列[2]
- 4. 整数反转 (Reverse Integer)
-
- 回文数 (palindrome-number)
-
- 盛最多水的容器 (container-with-most-water)
- 前端算法面试必刷题系列[3]
- 7. 罗马数字转整数 (roman-to-integer)
-
- 三数之和 (3sum)
-
- 最接近的三数之和 (3sum-closest)
- 前端算法面试必刷题系列[4]
- 10. 电话号码的字母组合 (letter-combinations-of-a-phone-number)
DFS + BFS
- 10. 电话号码的字母组合 (letter-combinations-of-a-phone-number)
- 前端算法面试必刷题系列[5]
- 11. 四数之和 (4sum)
- 前端算法面试必刷题系列[6]
- 12. 删除链表的倒数第N个节点 (remove-nth-node-from-end-of-list)
- 前端算法面试必刷题系列[7]
- 13. 有效的括号 (valid-parentheses)
Map 与数组的关系
- 13. 有效的括号 (valid-parentheses)
- 前端算法面试必刷题系列[8]
- 14. 合并两个有序链表 (merge-two-sorted-lists)
- 前端算法面试必刷题系列[9]
- 15. 括号生成 (generate-parentheses)
- 前端算法面试必刷题系列[10]
- 16. 合并K个升序链表 (merge-k-sorted-lists)
- 前端算法面试必刷题系列[11]
- 17. 两两交换链表中的节点 (swap-nodes-in-pairs)
- 前端算法面试必刷题系列[12]
- 18. 删除排序数组中的重复项 (remove-duplicates-from-sorted-array)
-
- 移除元素 (remove-element)
-
- 两数相除 (divide-two-integers)
- 前端算法面试必刷题系列[13]
- 21. 下一个排列 (next-permutation)
-
- 二分查找 (binary-search)
二分查找 (binary-search)
-
- 搜索旋转排序数组 (search-in-rotated-sorted-array)
- 前端算法面试必刷题系列[14]
- 24. 在排序数组中查找元素的第一个和最后一个位置 (find-first-and-last-position-of-element-in-sorted-array)
- 前端算法面试必刷题系列[15]
- 25. 搜索插入位置 (search-insert-position)
-
- 组合总和 (combination-sum)
-
- 组合总和II (combination-sum-ii)
- 前端算法面试必刷题系列[16]
- 28. 缺失的第一个正数 (first-missing-positive)
-
- 全排列 (permutations)
- 前端算法面试必刷题系列[17]
- 30. 全排列II (permutations-ii)
回溯法(back tracking)
- 30. 全排列II (permutations-ii)
- 前端算法面试必刷题系列[18]
- 31. 旋转图像 (rotate-image)
-
- 字母异位词分组 (group-anagrams)
Array.from()
- 前端算法面试必刷题系列[19]
- 33. 最大子序和 (maximum-subarray)
动态规划 DP
- 33. 最大子序和 (maximum-subarray)
- 前端算法面试必刷题系列[20]
- 34. 螺旋矩阵 (spiral-matrix)
-
- 跳跃游戏 (jump-game)
- 前端算法面试必刷题系列[21]
- 36. 合并区间 (merge-intervals)
-
- 插入区间 (insert-interval)
-
- 区间列表的交集 (interval-list-intersections)
- 前端算法面试必刷题系列[22]
- 39. 排列序列 (permutation-sequence)
- 前端算法面试必刷题系列[23]
- 40. 旋转链表 (rotate-list)
- 前端算法面试必刷题系列[24]
- 41. 不同路径 (unique-paths)
-
- 不同路径 II (unique-paths-ii)
- 前端算法面试必刷题系列[25]
- 43. 最小路径和 (minimum-path-sum)
-
- 加一 (plus-one)
- 前端算法面试必刷题系列[26]
- 45. 二进制求和 (add-binary)
- 前端算法面试必刷题系列[27]
- 46. x 的平方根 (sqrtx)
-
- 爬楼梯 (climbing-stairs)
- 前端算法面试必刷题系列[28]
- 48. 简化路径 (simplify-path)
-
- 矩阵置零 (set-matrix-zeroes)
Set
- 前端算法面试必刷题系列[29]
- 50. 搜索二维矩阵 (search-a-2d-matrix)
Array.prototype.flat()
-
- 颜色分类 (sort-colors)
计数排序
- 50. 搜索二维矩阵 (search-a-2d-matrix)
- 前端算法面试必刷题系列[30]
- 52. 最小覆盖子串 (minimum-window-substring)
- 前端算法面试必刷题系列[31]
- 53. 组合 (combinations)
-
- 子集 (subsets)
-
- 子集 II (subsets-ii)
DFS + 回溯
- 前端算法面试必刷题系列[32]
- 56. 单词搜索 (word-search)
- 前端算法面试必刷题系列[33]
- 57. 删除有序数组中的重复项 II (remove-duplicates-from-sorted-array-ii)
-
- 搜索旋转排序数组 II (search-in-rotated-sorted-array-ii)
- 前端算法面试必刷题系列[34]
- 59. 删除排序链表中的重复元素 (remove-duplicates-from-sorted-list)
-
- 删除排序链表中的重复元素 II (remove-duplicates-from-sorted-list-ii)
- 前端算法面试必刷题系列[35]
- 61. 下一个更大元素 I (next-greater-element-i)
-
- 下一个更大元素 II (next-greater-element-ii)
单调栈
- 前端算法面试必刷题系列[36]
- 63. 每日温度 (daily-temperatures)
-
- 柱状图中最大的矩形 (largest-rectangle-in-histogram)
- 前端算法面试必刷题系列[37]
- 65. 分隔链表 (partition-list)
-
- 合并两个有序数组 (merge-sorted-array)
Array.prototype.splice()Array.prototype.sort()
- 前端算法面试必刷题系列[38]
- 67. 格雷编码 (gray-code)
-
- 解码方法 (partition-list)
- 前端算法面试必刷题系列[39]
- 69. 反转链表 II (reverse-linked-list-ii)
-
- 复原 IP 地址 (restore-ip-addresses)
- 前端算法面试必刷题系列[40]
- 71. 二叉树的中序遍历 (binary-tree-inorder-traversal)
二叉树的中序遍历
-
- 不同的二叉搜索树 II (unique-binary-search-trees-ii)
二叉搜索树 BST
- 71. 二叉树的中序遍历 (binary-tree-inorder-traversal)
- 前端算法面试必刷题系列[41]
- 73. 验证二叉搜索树 (validate-binary-search-tree)
-
- 恢复二叉搜索树 (recover-binary-search-tree)
-
- 不同的二叉搜索树 (unique-binary-search-trees)
- 前端算法面试必刷题系列[42]
- 76. 相同的树 (validate-binary-search-tree)
-
- 对称二叉树 (symmetric-tree)
- 前端算法面试必刷题系列[43]
- 78. 二叉树的层序遍历 (binary-tree-level-order-traversal)
二叉树的层序遍历
-
- 二叉树的锯齿形层序遍历 (binary-tree-zigzag-level-order-traversal)
- 78. 二叉树的层序遍历 (binary-tree-level-order-traversal)
- 前端算法面试必刷题系列[44]
- 80. 二叉树的最大深度 (maximum-depth-of-binary-tree)
-
- 从前序与中序遍历序列构造二叉树 (construct-binary-tree-from-preorder-and-inorder-traversal)
-
- 从中序与后序遍历序列构造二叉树 (construct-binary-tree-from-inorder-and-postorder-traversal)
- 前端算法面试必刷题系列[45]
- 83. 将有序数组转换为二叉搜索树 (convert-sorted-array-to-binary-search-tree)
-
- 有序链表转换二叉搜索树 (convert-sorted-list-to-binary-search-tree)
- 前端算法面试必刷题系列[46]
- 85. 平衡二叉树 (balanced-binary-tree)
-
- 二叉树的最小深度 (convert-sorted-list-to-binary-search-tree)
-
- 路径总和 (path-sum)
-
- 路径总和 II (path-sum-ii)
- 前端算法面试必刷题系列[47]
- 89. 二叉树展开为链表 (flatten-binary-tree-to-linked-list)
-
- 不同的子序列 (distinct-subsequences)
- 前端算法面试必刷题系列[48]
- 91. 杨辉三角 (pascals-triangle)
-
- 三角形最小路径和 (pascals-triangle-ii)
- 前端算法面试必刷题系列[49]
- 93. 完全二叉树的节点个数 (count-complete-tree-nodes)
-
- 二叉树的最近公共祖先 (lowest-common-ancestor-of-a-binary-tree)
- 前端算法面试必刷题系列[50]
- 95. N 皇后 (n-queens)
- 前端算法面试必刷题系列[51]
- 96. 买卖股票的最佳时机 (best-time-to-buy-and-sell-stock)
-
- 买卖股票的最佳时机 II (best-time-to-buy-and-sell-stock-ii)
-
- 买卖股票的最佳时机 III (best-time-to-buy-and-sell-stock-iii)
- 前端算法面试必刷题系列[52]
- 99. 买卖股票的最佳时机 IV (best-time-to-buy-and-sell-stock-iv)
-
- 最佳买卖股票时机含冷冻期 (best-time-to-buy-and-sell-stock-with-cooldown)
- 前端算法面试必刷题系列[53]
- 101. 反转链表 (reverse-linked-list)
-
- 环形链表 (linked-list-cycle)
- 前端算法面试必刷题系列[54]
- 103. 环形链表II (reverse-linked-list-ii)
-
- K个一组翻转链表 (reverse-nodes-in-k-group)
- 前端算法面试必刷题系列[55]
- 105. 比较含退格的字符串 (backspace-string-compare)
-
- 用栈实现队列 (implement-queue-using-stacks)
-
- 用队列实现栈 (implement-stack-using-queues)
- 前端算法面试必刷题系列[56]
- 108. 数据流中的第 K 大元素 (kth-largest-element-in-a-stream)
- 前端算法面试必刷题系列[57]
- 109. 滑动窗口最大值 (sliding-window-maximum)
- 前端算法面试必刷题系列[58]
- 110. 有效的字母异位词 (valid-anagram)
-
- 二叉搜索树的最近公共祖先 (lowest-common-ancestor-of-a-binary-search-tree)
- 前端算法面试必刷题系列[59]
- 112. Pow(x, n) (powx-n)
-
- 多数元素 (majority-element)
- 前端算法面试必刷题系列[60]
- 114. 回文链表 (palindrome-linked-list)
-
- 排序链表 (sort-list)
- 前端算法面试必刷题系列[61]
- 116. 相交链表 (intersection-of-two-linked-lists)
-
- 最长回文子串 (longest-palindromic-substring)
- 前端算法面试必刷题系列[62]
- 118. 字符串相乘 (multiply-strings)
-
- 螺旋矩阵 II (spiral-matrix-ii)
- 前端算法面试必刷题系列[63]
- 120. 有效的数独 (valid-sudoku)
-
- 解数独 (sudoku-solver)
- 前端算法面试必刷题系列[64]
- 122. 最长公共前缀 (longest-common-prefix)
-
- 最长连续递增序列 (longest-continuous-increasing-subsequence)
- 前端算法面试必刷题系列[65]
- 124. 最长递增子序列 (longest-increasing-subsequence)
-
- 最长连续序列 (longest-continuous-increasing-subsequence)
- 前端算法面试必刷题系列[66]
- 126. 寻找两个正序数组的中位数 (median-of-two-sorted-arrays)
-
- 除自身以外数组的乘积 (product-of-array-except-self)
- 前端算法面试必刷题系列[67]
- 128. 存在重复元素 (contains-duplicate)
-
- 数组中的第K个最大元素 (kth-largest-element-in-an-array)
- 前端算法面试必刷题系列[68]
- 130. 最小栈 (min-stack)
-
- 二叉树中的最大路径和 (binary-tree-maximum-path-sum)
- 前端算法面试必刷题系列[69]
- 132. 快乐数 (happy-number)
-
- 验证回文串 (valid-palindrome)
- 前端算法面试必刷题系列[70]
- 134. 字符串转换整数 (atoi) (string-to-integer-atoi)
- 前端算法面试必刷题系列[71]
- 135. 分割回文串 (palindrome-partitioning)
- 前端算法面试必刷题系列[72]
- 136. 被围绕的区域 (surrounded-regions)
- 前端算法面试必刷题系列[73]
- 137. Z 字形变换 (zigzag-conversion)
-
- 两个数组的交集 II (intersection-of-two-arrays-ii)
- 前端算法面试必刷题系列[74]
- 139. 和为s的连续正数序列 (findContinuousSequence)
-
- 两整数之和 (sum-of-two-integers)
- 前端算法面试必刷题系列[75]
- 141. 实现 Trie (前缀树/字典树) (implement-trie-prefix-tree)