跳至主要內容

刷题

钝悟...大约 19 分钟数据结构和算法数据结构算法

刷题

经典数据结构

数组

题目难度状态
1. 两数之和open in new window简单通过
167. 两数之和 II - 输入有序数组open in new window中等通过
剑指 Offer II 006. 排序数组中两个数字之和open in new window简单通过
剑指 Offer 57. 和为 s 的两个数字open in new window简单通过
136. 只出现一次的数字open in new window简单通过
217. 存在重复元素open in new window简单通过
2073. 买票需要的时间open in new window简单通过
26. 删除有序数组中的重复项open in new window简单未通过
27. 移除元素open in new window
283. 移动零open in new window
344. 反转字符串open in new window
5. 最长回文子串open in new window
263. 丑数open in new window简单未通过
264. 丑数 IIopen in new window中等未通过
1201. 丑数 IIIopen in new window中等未通过
313. 超级丑数open in new window中等未通过
373. 查找和最小的 K 对数字open in new window

链表

题目难度通关
19. 删除链表的倒数第 N 个结点open in new window中等通过
21. 合并两个有序链表open in new window简单通过
23. 合并 K 个升序链表open in new window困难通过
83. 删除排序链表中的重复元素open in new window简单通过
82. 删除排序链表中的重复元素 IIopen in new window中等半通过
86. 分隔链表open in new window简单通过
876. 链表的中间结点open in new window简单通过
剑指 Offer 22. 链表中倒数第 k 个节点open in new window简单通过
141. 环形链表open in new window简单通过
142. 环形链表 IIopen in new window中等未通过
160. 相交链表open in new window简单半通过
1836. 从未排序的链表中移除重复元素open in new window中等半通过

栈和队列

题目难度
20. 有效的括号open in new window简单
225. 用队列实现栈open in new window简单通过
232. 用栈实现队列open in new window简单通过

解题套路

链表双指针技巧

LeetCode力扣难度
21. Merge Two Sorted Listsopen in new window21. 合并两个有序链表open in new window🟢
86. Partition Listopen in new window86. 分隔链表open in new window🟠
23. Merge k Sorted Listsopen in new window23. 合并K个升序链表open in new window🔴
141. Linked List Cycleopen in new window141. 环形链表open in new window🟢
142. Linked List Cycle IIopen in new window142. 环形链表 IIopen in new window🟠
876. Middle of the Linked Listopen in new window876. 链表的中间结点open in new window🟢
19. Remove Nth Node From End of Listopen in new window19. 删除链表的倒数第 N 个结点open in new window🟠
160. Intersection of Two Linked Listsopen in new window160. 相交链表open in new window🟢
264. Ugly Number IIopen in new window264. 丑数 IIopen in new window🟠
378. Kth Smallest Element in a Sorted Matrixopen in new window378. 有序矩阵中第 K 小的元素open in new window🟠
373. Find K Pairs with Smallest Sumsopen in new window373. 查找和最小的 K 对数字open in new window🟠
82. Remove Duplicates from Sorted List IIopen in new window82. 删除排序链表中的重复元素 IIopen in new window🟠
2. Add Two Numbersopen in new window2. 两数相加open in new window🟠
445. Add Two Numbers IIopen in new window445. 两数相加 IIopen in new window🟠

递归操作链表

LeetCode力扣难度
234. Palindrome Linked Listopen in new window234. 回文链表open in new window🟢
206. Reverse Linked Listopen in new window206. 反转链表open in new window🟢
92. Reverse Linked List IIopen in new window92. 反转链表 IIopen in new window🟠
25. Reverse Nodes in k-Groupopen in new window25. K 个一组翻转链表open in new window🔴

数组双指针技巧

LeetCode力扣难度
26. Remove Duplicates from Sorted Arrayopen in new window26. 删除有序数组中的重复项open in new window🟢
83. Remove Duplicates from Sorted Listopen in new window83. 删除排序链表中的重复元素open in new window🟢
27. Remove Elementopen in new window27. 移除元素open in new window🟢
283. Move Zeroesopen in new window283. 移动零open in new window🟢
167. Two Sum II - Input Array Is Sortedopen in new window167. 两数之和 II - 输入有序数组open in new window🟠
344. Reverse Stringopen in new window344. 反转字符串open in new window🟢
5. Longest Palindromic Substringopen in new window5. 最长回文子串open in new window🟠
80. Remove Duplicates from Sorted Array IIopen in new window80. 删除有序数组中的重复项 IIopen in new window🟠
125. Valid Palindromeopen in new window125. 验证回文串open in new window🟢
75. Sort Colorsopen in new window75. 颜色分类open in new window🟠
88. Merge Sorted Arrayopen in new window88. 合并两个有序数组open in new window🟢
977. Squares of a Sorted Arrayopen in new window977. 有序数组的平方open in new window🟢

二维数组操作技巧

LeetCode力扣难度
151. Reverse Words in a Stringopen in new window151. 反转字符串中的单词open in new window🟠
48. Rotate Imageopen in new window48. 旋转图像open in new window🟠
54. Spiral Matrixopen in new window54. 螺旋矩阵open in new window🟠
59. Spiral Matrix IIopen in new window59. 螺旋矩阵 IIopen in new window🟠
1329. Sort the Matrix Diagonallyopen in new window1329. 将矩阵按对角线排序open in new window🟠
1260. Shift 2D Gridopen in new window1260. 二维网格迁移open in new window🟢
867. Transpose Matrixopen in new window867. 转置矩阵open in new window🟢
14. Longest Common Prefixopen in new window14. 最长公共前缀open in new window🟢

滑动窗口算法

LeetCode力扣难度
76. Minimum Window Substringopen in new window76. 最小覆盖子串open in new window🔴
567. Permutation in Stringopen in new window567. 字符串的排列open in new window🟠
438. Find All Anagrams in a Stringopen in new window438. 找到字符串中所有字母异位词open in new window🟠
3. Longest Substring Without Repeating Charactersopen in new window3. 无重复字符的最长子串open in new window🟠
1658. Minimum Operations to Reduce X to Zeroopen in new window1658. 将 x 减到 0 的最小操作数open in new window🟠
713. Subarray Product Less Than Kopen in new window713. 乘积小于 K 的子数组open in new window🟠
219. Contains Duplicate IIopen in new window219. 存在重复元素 IIopen in new window🟢
220. Contains Duplicate IIIopen in new window220. 存在重复元素 IIIopen in new window🔴
209. Minimum Size Subarray Sumopen in new window209. 长度最小的子数组open in new window🟠

二分搜索算法

LeetCode力扣难度
704. Binary Searchopen in new window704. 二分查找open in new window🟢
34. Find First and Last Position of Element in Sorted Arrayopen in new window34. 在排序数组中查找元素的第一个和最后一个位置open in new window🟠
875. Koko Eating Bananasopen in new window875. 爱吃香蕉的珂珂open in new window🟠
1011. Capacity To Ship Packages Within D Daysopen in new window1011. 在 D 天内送达包裹的能力open in new window🟠
410. Split Array Largest Sumopen in new window410. 分割数组的最大值open in new window🔴

前缀和/差分技巧

LeetCode力扣难度
303. Range Sum Query - Immutableopen in new window303. 区域和检索 - 数组不可变open in new window🟢
304. Range Sum Query 2D - Immutableopen in new window304. 二维区域和检索 - 矩阵不可变open in new window🟠
1109. Corporate Flight Bookingsopen in new window1109. 航班预订统计open in new window🟠
1094. Car Poolingopen in new window1094. 拼车open in new window🟠

LeetCode力扣难度
71. Simplify Pathopen in new window71. 简化路径open in new window🟠
143. Reorder Listopen in new window143. 重排链表open in new window🟠
20. Valid Parenthesesopen in new window20. 有效的括号open in new window🟢
150. Evaluate Reverse Polish Notationopen in new window150. 逆波兰表达式求值open in new window🟠
225. Implement Stack using Queuesopen in new window225. 用队列实现栈open in new window🟢
388. Longest Absolute File Pathopen in new window388. 文件的最长绝对路径open in new window🟠

队列

LeetCode力扣难度
933. Number of Recent Callsopen in new window933. 最近的请求次数open in new window🟢
622. Design Circular Queueopen in new window622. 设计循环队列open in new window🟠
641. Design Circular Dequeopen in new window641. 设计循环双端队列open in new window🟠
1670. Design Front Middle Back Queueopen in new window1670. 设计前中后队列open in new window🟠
2073. Time Needed to Buy Ticketsopen in new window2073. 买票需要的时间open in new window🟢

单调栈技巧

LeetCode力扣难度
1019. Next Greater Node In Linked Listopen in new window1019. 链表中的下一个更大节点open in new window🟠
1944. Number of Visible People in a Queueopen in new window1944. 队列中可以看到的人数open in new window🔴
1475. Final Prices With a Special Discount in a Shopopen in new window1475. 商品折扣后的最终价格open in new window🟢
901. Online Stock Spanopen in new window901. 股票价格跨度open in new window🟠
402. Remove K Digitsopen in new window402. 移掉 K 位数字open in new window🟠
853. Car Fleetopen in new window853. 车队open in new window🟠
581. Shortest Unsorted Continuous Subarrayopen in new window581. 最短无序连续子数组open in new window🟠

单调队列技巧

LeetCode力扣难度
239. Sliding Window Maximumopen in new window239. 滑动窗口最大值open in new window🔴
1438. Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limitopen in new window1438. 绝对差不超过限制的最长连续子数组open in new window🟠
862. Shortest Subarray with Sum at Least Kopen in new window862. 和至少为 K 的最短子数组open in new window🔴
918. Maximum Sum Circular Subarrayopen in new window918. 环形子数组的最大和open in new window🟠

二叉树

LeetCode力扣难度
226. Invert Binary Treeopen in new window226. 翻转二叉树open in new window🟢
114. Flatten Binary Tree to Linked Listopen in new window114. 二叉树展开为链表open in new window🟠
116. Populating Next Right Pointers in Each Nodeopen in new window116. 填充每个节点的下一个右侧节点指针open in new window🟠
654. Maximum Binary Treeopen in new window654. 最大二叉树open in new window🟠
105. Construct Binary Tree from Preorder and Inorder Traversalopen in new window105. 从前序与中序遍历序列构造二叉树open in new window🟠
106. Construct Binary Tree from Inorder and Postorder Traversalopen in new window106. 从中序与后序遍历序列构造二叉树open in new window🟠
889. Construct Binary Tree from Preorder and Postorder Traversalopen in new window889. 根据前序和后序遍历构造二叉树open in new window🟠
297. Serialize and Deserialize Binary Treeopen in new window297. 二叉树的序列化与反序列化open in new window🔴
236. Lowest Common Ancestor of a Binary Treeopen in new window236. 二叉树的最近公共祖先open in new window🟠
235. Lowest Common Ancestor of a Binary Search Treeopen in new window235. 二叉搜索树的最近公共祖先open in new window🟠
222. Count Complete Tree Nodesopen in new window222. 完全二叉树的节点个数open in new window🟠

二叉搜索树

LeetCode力扣难度
230. Kth Smallest Element in a BSTopen in new window230. 二叉搜索树中第K小的元素open in new window🟠
538. Convert BST to Greater Treeopen in new window538. 把二叉搜索树转换为累加树open in new window🟠
1038. Binary Search Tree to Greater Sum Treeopen in new window1038. 从二叉搜索树到更大和树open in new window🟠
450. Delete Node in a BSTopen in new window450. 删除二叉搜索树中的节点open in new window🟠
701. Insert into a Binary Search Treeopen in new window701. 二叉搜索树中的插入操作open in new window🟠
700. Search in a Binary Search Treeopen in new window700. 二叉搜索树中的搜索open in new window🟢
98. Validate Binary Search Treeopen in new window98. 验证二叉搜索树open in new window🟠
96. Unique Binary Search Treesopen in new window96. 不同的二叉搜索树open in new window🟠
95. Unique Binary Search Trees IIopen in new window95. 不同的二叉搜索树 IIopen in new window🟠

数据结构设计

LeetCode力扣难度
146. LRU Cacheopen in new window146. LRU 缓存open in new window🟠
460. LFU Cacheopen in new window460. LFU 缓存open in new window🔴
729. My Calendar Iopen in new window729. 我的日程安排表 Iopen in new window🟠
950. Reveal Cards In Increasing Orderopen in new window950. 按递增顺序显示卡牌open in new window🟠
1700. Number of Students Unable to Eat Lunchopen in new window1700. 无法吃午餐的学生数量open in new window🟢
155. Min Stackopen in new window155. 最小栈open in new window🟠
1670. Design Front Middle Back Queueopen in new window1670. 设计前中后队列open in new window🟠
895. Maximum Frequency Stackopen in new window895. 最大频率栈open in new window🔴
224. Basic Calculatoropen in new window224. 基本计算器open in new window🔴
227. Basic Calculator IIopen in new window227. 基本计算器 IIopen in new window🟠

图相关算法

LeetCode力扣难度
207. Course Scheduleopen in new window207. 课程表open in new window🟠
210. Course Schedule IIopen in new window210. 课程表 IIopen in new window🟠
990. Satisfiability of Equality Equationsopen in new window990. 等式方程的可满足性open in new window🟠
684. Redundant Connectionopen in new window684. 冗余连接open in new window🟠
1584. Min Cost to Connect All Pointsopen in new window1584. 连接所有点的最小费用open in new window🟠
743. Network Delay Timeopen in new window743. 网络延迟时间open in new window🟠
1631. Path With Minimum Effortopen in new window1631. 最小体力消耗路径open in new window🟠
1514. Path with Maximum Probabilityopen in new window1514. 概率最大的路径open in new window🟠

DFS/回溯算法

LeetCode力扣难度
78. Subsetsopen in new window78. 子集open in new window🟠
90. Subsets IIopen in new window90. 子集 IIopen in new window🟠
77. Combinationsopen in new window77. 组合open in new window🟠
39. Combination Sumopen in new window39. 组合总和open in new window🟠
40. Combination Sum IIopen in new window40. 组合总和 IIopen in new window🟠
216. Combination Sum IIIopen in new window216. 组合总和 IIIopen in new window🟠
46. Permutationsopen in new window46. 全排列open in new window🟠
47. Permutations IIopen in new window47. 全排列 IIopen in new window🟠
37. Sudoku Solveropen in new window37. 解数独open in new window🔴
51. N-Queensopen in new window51. N 皇后open in new window🔴
52. N-Queens IIopen in new window52. N皇后 IIopen in new window🔴
200. Number of Islandsopen in new window200. 岛屿数量open in new window🟠
1254. Number of Closed Islandsopen in new window1254. 统计封闭岛屿的数目open in new window🟠
695. Max Area of Islandopen in new window695. 岛屿的最大面积open in new window🟠
1905. Count Sub Islandsopen in new window1905. 统计子岛屿open in new window🟠
967. Numbers With Same Consecutive Differencesopen in new window967. 连续差相同的数字open in new window🟠
491. Non-decreasing Subsequencesopen in new window491. 递增子序列open in new window🟠
980. Unique Paths IIIopen in new window980. 不同路径 IIIopen in new window🔴
131. Palindrome Partitioningopen in new window131. 分割回文串open in new window🟠
93. Restore IP Addressesopen in new window93. 复原 IP 地址open in new window🟠
17. Letter Combinations of a Phone Numberopen in new window17. 电话号码的字母组合open in new window🟠
79. Word Searchopen in new window79. 单词搜索open in new window🟠

BFS 算法

LeetCode力扣难度
752. Open the Lockopen in new window752. 打开转盘锁open in new window🟠
773. Sliding Puzzleopen in new window773. 滑动谜题open in new window🔴
919. Complete Binary Tree Inserteropen in new window919. 完全二叉树插入器open in new window🟠
841. Keys and Roomsopen in new window841. 钥匙和房间open in new window🟠
433. Minimum Genetic Mutationopen in new window433. 最小基因变化open in new window🟠
1926. Nearest Exit from Entrance in Mazeopen in new window1926. 迷宫中离入口最近的出口open in new window🟠
1091. Shortest Path in Binary Matrixopen in new window1091. 二进制矩阵中的最短路径open in new window🟠
994. Rotting Orangesopen in new window994. 腐烂的橘子open in new window🟠
721. Accounts Mergeopen in new window721. 账户合并open in new window🟠
127. Word Ladderopen in new window127. 单词接龙open in new window🔴
365. Water and Jug Problemopen in new window365. 水壶问题open in new window🟠

动态规划

LeetCode力扣难度
509. Fibonacci Numberopen in new window509. 斐波那契数open in new window🟢
322. Coin Changeopen in new window322. 零钱兑换open in new window🟠
300. Longest Increasing Subsequenceopen in new window300. 最长递增子序列open in new window🟠
354. Russian Doll Envelopesopen in new window354. 俄罗斯套娃信封问题open in new window🔴
72. Edit Distanceopen in new window72. 编辑距离open in new window🔴
53. Maximum Subarrayopen in new window53. 最大子数组和open in new window🟠
1143. Longest Common Subsequenceopen in new window1143. 最长公共子序列open in new window🟠
583. Delete Operation for Two Stringsopen in new window583. 两个字符串的删除操作open in new window🟠
712. Minimum ASCII Delete Sum for Two Stringsopen in new window712. 两个字符串的最小ASCII删除和open in new window🟠
416. Partition Equal Subset Sumopen in new window416. 分割等和子集open in new window🟠
518. Coin Change IIopen in new window518. 零钱兑换 IIopen in new window🟠

贪心算法

LeetCode力扣难度
55. Jump Gameopen in new window55. 跳跃游戏open in new window🟠
45. Jump Game IIopen in new window45. 跳跃游戏 IIopen in new window🟠
134. Gas Stationopen in new window134. 加油站open in new window🟠

分治算法

LeetCode力扣难度
23. Merge k Sorted Listsopen in new window23. 合并K个升序链表open in new window🔴
241. Different Ways to Add Parenthesesopen in new window241. 为运算表达式设计优先级open in new window🟠

数学算法

LeetCode力扣难度
292. Nim Gameopen in new window292. Nim 游戏open in new window🟢
877. Stone Gameopen in new window877. 石子游戏open in new window🟠
319. Bulb Switcheropen in new window319. 灯泡开关open in new window🟠
382. Linked List Random Nodeopen in new window382. 链表随机节点open in new window🟠
398. Random Pick Indexopen in new window398. 随机数索引open in new window🟠
384. Shuffle an Arrayopen in new window384. 打乱数组open in new window🟠
204. Count Primesopen in new window204. 计数质数open in new window🟠
372. Super Powopen in new window372. 超级次方open in new window🟠

其他经典面试题

LeetCode力扣难度
42. Trapping Rain Wateropen in new window42. 接雨水open in new window🔴
11. Container With Most Wateropen in new window11. 盛最多水的容器open in new window🟠
263. Ugly Numberopen in new window263. 丑数open in new window🟢
264. Ugly Number IIopen in new window264. 丑数 IIopen in new window🟠
1201. Ugly Number IIIopen in new window1201. 丑数 IIIopen in new window🟠
313. Super Ugly Numberopen in new window313. 超级丑数open in new window🟠
528. Random Pick with Weightopen in new window528. 按权重随机选择open in new window🟠
1. Two Sumopen in new window1. 两数之和open in new window🟢
167. Two Sum II - Input Array Is Sortedopen in new window167. 两数之和 II - 输入有序数组open in new window🟠
15. 3Sumopen in new window15. 三数之和open in new window🟠
18. 4Sumopen in new window18. 四数之和open in new window🟠
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7