#03. 堆栈

#堆栈基础题目

题号 标题 题解 标签 难度
1047 删除字符串中的所有相邻重复项 Python 栈、字符串 简单
0155 最小栈 Python 栈、设计 中等
0020 有效的括号 Python 栈、字符串 简单
0227 基本计算器 II Python 栈、数学、字符串 中等
0739 每日温度 Python 栈、数组、单调栈
0150 逆波兰表达式求值 Python 栈、数组、数学
0232 用栈实现队列 Python 栈、设计、队列 简单
剑指 Offer 09 用两个栈实现队列 Python
0394 字符串解码 Python 栈、递归、字符串 中等
0032 最长有效括号 Python 栈、字符串、动态规划 困难
0946 验证栈序列 Python 栈、数组、模拟 中等
剑指 Offer 06 从尾到头打印链表 Python 栈、递归、链表、双指针 简单
0071 简化路径 栈、字符串 中等

#单调栈

题号 标题 题解 标签 难度
0739 每日温度 Python 栈、数组、单调栈 中等
0496 下一个更大元素 I Python 栈、数组、哈希表、单调栈 简单
0503 下一个更大元素 II Python 栈、数组、单调栈 中等
0901 股票价格跨度 Python 栈、设计、数据流、单调栈
0084 柱状图中最大的矩形 Python 栈、数组、单调栈 困难
0316 去除重复字母 Python 栈、贪心、字符串、单调栈 中等
0042 接雨水 Python 栈、数组、双指针、动态规划、单调栈 困难
0085 最大矩形 栈、数组、动态规划、矩阵、单调栈
0862 和至少为 K 的最短子数组 Python 队列、数组、二分查找、前缀和、滑动窗口、单调队列、堆(优先队列)

#04. 队列

#队列基础题目

题号 标题 题解 标签 难度
0622 设计循环队列 Python 设计、队列、数组、链表 中等
0346 数据流中的移动平均值 Python 设计、队列、数组、数据流 简单
0225 用队列实现栈 Python 栈、设计、队列

#优先队列题目

题号 标题 题解 标签 难度
0703 数据流中的第 K 大元素 Python 树、设计、二叉搜索树、二叉树、数据流、堆(优先队列) 简单
0347 前 K 个高频元素 Python 数组、哈希表、分治、桶排序、计数、快速选择、排序、堆(优先队列) 中等
0451 根据字符出现频率排序 Python 哈希表、字符串、桶排序、计数、排序、堆(优先队列)
0973 最接近原点的 K 个点 Python 几何、数组、数学、分治、快速选择、排序、堆(优先队列)
1296 划分数组为连续数字的集合 Python 贪心、数组、哈希表、排序
0239 滑动窗口最大值 Python 队列、数组、滑动窗口、单调队列、堆(优先队列) 困难
0295 数据流的中位数 Python 设计、双指针、数据流、排序、堆(优先队列)
0023 合并 K 个升序链表 Python 链表、分治、堆(优先队列)、归并排序
0218 天际线问题 Python 树状数组、线段树、数组、分治、有序集合、扫描线、堆(优先队列)

#05. 哈希表

#哈希表题目

题号 标题 题解 标签 难度
0705 设计哈希集合 Python 设计、数组、哈希表、链表、哈希函数 简单
0706 设计哈希映射 Python
0217 存在重复元素 Python 数组、哈希表、排序
0219 存在重复元素 II Python 数组、哈希表、滑动窗口
0220 存在重复元素 III Python 数组、桶排序、有序集合、排序、滑动窗口 困难
1941 检查是否所有字符出现次数相同 Python 哈希表、字符串、计数 简单
0136 只出现一次的数字 Python 位运算、数组
0383 赎金信 Python 哈希表、字符串、计数
0349 两个数组的交集 Python 数组、哈希表、双指针、二分查找、排序
0350 两个数组的交集 II Python
0036 有效的数独 Python 数组、哈希表、矩阵 中等
0001 两数之和 Python 数组、哈希表 简单
0015 三数之和 Python 数组、双指针、排序 中等
0018 四数之和 Python
0454 四数相加 II Python 数组、哈希表
0041 缺失的第一个正数 Python 困难
0128 最长连续序列 Python 并查集、数组、哈希表 中等
0202 快乐数 Python 哈希表、数学、双指针 简单
0242 有效的字母异位词 Python 哈希表、字符串、排序
0205 同构字符串 Python 哈希表、字符串
0442 数组中重复的数据 数组、哈希表 中等
剑指 Offer 61 扑克牌中的顺子 Python 数组、排序 简单
0268 丢失的数字 Python 位运算、数组、哈希表、数学、二分查找、排序
剑指 Offer 03 数组中重复的数字 Python 数组、哈希表、排序
0451 根据字符出现频率排序 Python 哈希表、字符串、桶排序、计数、排序、堆(优先队列) 中等
0049 字母异位词分组 Python 数组、哈希表、字符串、排序
0599 两个列表的最小索引总和 Python 数组、哈希表、字符串 简单
0387 字符串中的第一个唯一字符 Python 队列、哈希表、字符串、计数
0447 回旋镖的数量 Python 数组、哈希表、数学 中等
0149 直线上最多的点数 Python 几何、数组、哈希表、数学 困难
0359 日志速率限制器 Python 设计、哈希表 简单
0811 子域名访问计数 Python 数组、哈希表、字符串、计数 中等

#06. 字符串

#字符串基础题目

题号 标题 题解 标签 难度
0125 验证回文串 Python 双指针、字符串 简单
0005 最长回文子串 Python 字符串、动态规划 中等
0003 无重复字符的最长子串 Python 哈希表、字符串、滑动窗口
0344 反转字符串 Python 双指针、字符串 简单
0557 反转字符串中的单词 III Python
0049 字母异位词分组 Python 数组、哈希表、字符串、排序 中等
0415 字符串相加 Python 数学、字符串、模拟 简单
0151 反转字符串中的单词 Python 双指针、字符串 中等
0043 字符串相乘 Python 数学、字符串、模拟
0014 最长公共前缀 Python 字典树、字符串 简单

#单模式串匹配题目

题号 标题 题解 标签 难度
0028 找出字符串中第一个匹配项的下标 Python 双指针、字符串、字符串匹配 中等
0459 重复的子字符串 Python 字符串、字符串匹配 简单
0686 重复叠加字符串匹配 Python 中等
1668 最大重复子字符串 简单
0796 旋转字符串 Python
1408 数组中的字符串匹配 Python 数组、字符串、字符串匹配
2156 查找给定哈希值的子串 Python 字符串、滑动窗口、哈希函数、滚动哈希 困难

#字典树题目

题号 标题 题解 标签 难度
0208 实现 Trie (前缀树) Python 设计、字典树、哈希表、字符串 中等
0677 键值映射 Python
0648 单词替换 Python 字典树、数组、哈希表、字符串
0642 设计搜索自动补全系统 Python 设计、字典树、字符串、数据流 困难
0211 添加与搜索单词 - 数据结构设计 Python 深度优先搜索、设计、字典树、字符串 中等
0421 数组中两个数的最大异或值 Python 位运算、字典树、数组、哈希表
0212 单词搜索 II Python 字典树、数组、字符串、回溯、矩阵 困难
0425 单词方块 Python 字典树、数组、字符串、回溯
0336 回文对 Python 字典树、数组、哈希表、字符串
1023 驼峰式匹配 Python 字典树、双指针、字符串、字符串匹配 中等
0676 实现一个魔法字典 Python 设计、字典树、哈希表、字符串
0440 字典序的第K小数字 字典树 困难