Skip to content

Latest commit

 

History

History
222 lines (213 loc) · 56 KB

string.md

File metadata and controls

222 lines (213 loc) · 56 KB

字符串

全部标签

数据结构

数组 矩阵 链表 双向链表 单调栈 队列 单调队列 堆(优先队列) 哈希表 字符串 字符串匹配 二叉树 二叉搜索树 最小生成树 有序集合 拓扑排序 最短路 强连通分量 欧拉回路 双连通分量 并查集 字典树 线段树 树状数组 后缀数组

算法

枚举 递归 分治 回溯 贪心 动态规划 排序 桶排序 计数排序 基数排序 归并排序 快速选择 二分查找 记忆化搜索 深度优先搜索 广度优先搜索 双指针 位运算 前缀和 计数 滑动窗口 状态压缩 哈希函数 滚动哈希 扫描线

其他

数学 数论 几何 博弈 模拟 组合数学 随机化 概率与统计 水塘抽样 拒绝采样 数据库 设计 数据流 脑筋急转弯 交互 迭代器 多线程


题号 标题 题解 标签 难度 力扣
3 无重复字符的最长子串 [✓] 哈希表 字符串 滑动窗口 🟠 🀄️ 🔗
5 最长回文子串 [✓] 双指针 字符串 动态规划 🟠 🀄️ 🔗
6 Z 字形变换 [✓] 字符串 🟠 🀄️ 🔗
8 字符串转换整数 (atoi) [✓] 字符串 🟠 🀄️ 🔗
10 正则表达式匹配 [✓] 递归 字符串 动态规划 🔴 🀄️ 🔗
12 整数转罗马数字 [✓] 哈希表 数学 字符串 🟠 🀄️ 🔗
13 罗马数字转整数 [✓] 哈希表 数学 字符串 🟢 🀄️ 🔗
14 最长公共前缀 [✓] 字典树 字符串 🟢 🀄️ 🔗
17 电话号码的字母组合 [✓] 哈希表 字符串 回溯 🟠 🀄️ 🔗
20 有效的括号 [✓] 字符串 🟢 🀄️ 🔗
22 括号生成 [✓] 字符串 动态规划 回溯 🟠 🀄️ 🔗
28 找出字符串中第一个匹配项的下标 [✓] 双指针 字符串 字符串匹配 🟢 🀄️ 🔗
30 串联所有单词的子串 [✓] 哈希表 字符串 滑动窗口 🔴 🀄️ 🔗
32 最长有效括号 [✓] 字符串 动态规划 🔴 🀄️ 🔗
38 外观数列 [✓] 字符串 🟠 🀄️ 🔗
43 字符串相乘 [✓] 数学 字符串 模拟 🟠 🀄️ 🔗
44 通配符匹配 [✓] 贪心 递归 字符串 1+ 🔴 🀄️ 🔗
49 字母异位词分组 [✓] 数组 哈希表 字符串 1+ 🟠 🀄️ 🔗
58 最后一个单词的长度 [✓] 字符串 🟢 🀄️ 🔗
65 有效数字 字符串 🔴 🀄️ 🔗
67 二进制求和 [✓] 位运算 数学 字符串 1+ 🟢 🀄️ 🔗
68 文本左右对齐 [✓] 数组 字符串 模拟 🔴 🀄️ 🔗
71 简化路径 [✓] 字符串 🟠 🀄️ 🔗
72 编辑距离 [✓] 字符串 动态规划 🟠 🀄️ 🔗
76 最小覆盖子串 [✓] 哈希表 字符串 滑动窗口 🔴 🀄️ 🔗
79 单词搜索 [✓] 数组 字符串 回溯 1+ 🟠 🀄️ 🔗
87 扰乱字符串 字符串 动态规划 🔴 🀄️ 🔗
91 解码方法 [✓] 字符串 动态规划 🟠 🀄️ 🔗
93 复原 IP 地址 [✓] 字符串 回溯 🟠 🀄️ 🔗
97 交错字符串 [✓] 字符串 动态规划 🟠 🀄️ 🔗
115 不同的子序列 [✓] 字符串 动态规划 🔴 🀄️ 🔗
125 验证回文串 [✓] 双指针 字符串 🟢 🀄️ 🔗
126 单词接龙 II 广度优先搜索 哈希表 字符串 1+ 🔴 🀄️ 🔗
127 单词接龙 [✓] 广度优先搜索 哈希表 字符串 🔴 🀄️ 🔗
131 分割回文串 [✓] 字符串 动态规划 回溯 🟠 🀄️ 🔗
132 分割回文串 II [✓] 字符串 动态规划 🔴 🀄️ 🔗
139 单词拆分 [✓] 字典树 记忆化搜索 数组 3+ 🟠 🀄️ 🔗
140 单词拆分 II [✓] 字典树 记忆化搜索 数组 4+ 🔴 🀄️ 🔗
151 反转字符串中的单词 [✓] 双指针 字符串 🟠 🀄️ 🔗
159 至多包含两个不同字符的最长子串 🔒 哈希表 字符串 滑动窗口 🟠 🀄️ 🔗
161 相隔为 1 的编辑距离 🔒 双指针 字符串 🟠 🀄️ 🔗
165 比较版本号 [✓] 双指针 字符串 🟠 🀄️ 🔗
166 分数到小数 [✓] 哈希表 数学 字符串 🟠 🀄️ 🔗
168 Excel 表列名称 [✓] 数学 字符串 🟢 🀄️ 🔗
171 Excel 表列序号 [✓] 数学 字符串 🟢 🀄️ 🔗
179 最大数 [✓] 贪心 数组 字符串 1+ 🟠 🀄️ 🔗
186 反转字符串中的单词 II 🔒 双指针 字符串 🟠 🀄️ 🔗
187 重复的DNA序列 [✓] 位运算 哈希表 字符串 3+ 🟠 🀄️ 🔗
205 同构字符串 [✓] 哈希表 字符串 🟢 🀄️ 🔗
208 实现 Trie (前缀树) [✓] 设计 字典树 哈希表 1+ 🟠 🀄️ 🔗
211 添加与搜索单词 - 数据结构设计 [✓] 深度优先搜索 设计 字典树 1+ 🟠 🀄️ 🔗
212 单词搜索 II [✓] 字典树 数组 字符串 2+ 🔴 🀄️ 🔗
214 最短回文串 字符串 字符串匹配 哈希函数 1+ 🔴 🀄️ 🔗
224 基本计算器 [✓] 递归 数学 1+ 🔴 🀄️ 🔗
227 基本计算器 II [✓] 数学 字符串 🟠 🀄️ 🔗
241 为运算表达式设计优先级 [✓] 递归 记忆化搜索 数学 2+ 🟠 🀄️ 🔗
242 有效的字母异位词 [✓] 哈希表 字符串 排序 🟢 🀄️ 🔗
243 最短单词距离 🔒 数组 字符串 🟢 🀄️ 🔗
244 最短单词距离 II 🔒 设计 数组 哈希表 2+ 🟠 🀄️ 🔗
245 最短单词距离 III 🔒 数组 字符串 🟠 🀄️ 🔗
246 中心对称数 🔒 哈希表 双指针 字符串 🟢 🀄️ 🔗
247 中心对称数 II 🔒 递归 数组 字符串 🟠 🀄️ 🔗
248 中心对称数 III 🔒 递归 数组 字符串 🔴 🀄️ 🔗
249 移位字符串分组 🔒 数组 哈希表 字符串 🟠 🀄️ 🔗
257 二叉树的所有路径 [✓] 深度优先搜索 字符串 2+ 🟢 🀄️ 🔗
266 回文排列 🔒 位运算 哈希表 字符串 🟢 🀄️ 🔗
267 回文排列 II 🔒 哈希表 字符串 回溯 🟠 🀄️ 🔗
269 火星词典 🔒 深度优先搜索 广度优先搜索 3+ 🔴 🀄️ 🔗
271 字符串的编码与解码 🔒 设计 数组 字符串 🟠 🀄️ 🔗
273 整数转换英文表示 递归 数学 字符串 🔴 🀄️ 🔗
282 给表达式添加运算符 数学 字符串 回溯 🔴 🀄️ 🔗
288 单词的唯一缩写 🔒 设计 数组 哈希表 1+ 🟠 🀄️ 🔗
290 单词规律 [✓] 哈希表 字符串 🟢 🀄️ 🔗
291 单词规律 II 🔒 哈希表 字符串 回溯 🟠 🀄️ 🔗
293 翻转游戏 🔒 字符串 🟢 🀄️ 🔗
297 二叉树的序列化与反序列化 [✓] 深度优先搜索 广度优先搜索 3+ 🔴 🀄️ 🔗
299 猜数字游戏 [✓] 哈希表 字符串 计数 🟠 🀄️ 🔗
301 删除无效的括号 广度优先搜索 字符串 回溯 🔴 🀄️ 🔗
306 累加数 [✓] 字符串 回溯 🟠 🀄️ 🔗
316 去除重复字母 [✓] 贪心 字符串 1+ 🟠 🀄️ 🔗
318 最大单词长度乘积 [✓] 位运算 数组 字符串 🟠 🀄️ 🔗
320 列举单词的全部缩写 🔒 位运算 字符串 回溯 🟠 🀄️ 🔗
331 验证二叉树的前序序列化 [✓] 字符串 1+ 🟠 🀄️ 🔗
336 回文对 字典树 数组 哈希表 1+ 🔴 🀄️ 🔗
340 至多包含 K 个不同字符的最长子串 🔒 哈希表 字符串 滑动窗口 🟠 🀄️ 🔗
344 反转字符串 [✓] 双指针 字符串 🟢 🀄️ 🔗
345 反转字符串中的元音字母 [✓] 双指针 字符串 🟢 🀄️ 🔗
358 K 距离间隔重排字符串 🔒 贪心 哈希表 字符串 3+ 🔴 🀄️ 🔗
383 赎金信 [✓] 哈希表 字符串 计数 🟢 🀄️ 🔗
385 迷你语法分析器 [✓] 深度优先搜索 字符串 🟠 🀄️ 🔗
387 字符串中的第一个唯一字符 [✓] 队列 哈希表 字符串 1+ 🟢 🀄️ 🔗
388 文件的最长绝对路径 [✓] 深度优先搜索 字符串 🟠 🀄️ 🔗
389 找不同 [✓] 位运算 哈希表 字符串 1+ 🟢 🀄️ 🔗
392 判断子序列 [✓] 双指针 字符串 动态规划 🟢 🀄️ 🔗
394 字符串解码 [✓] 递归 字符串 🟠 🀄️ 🔗
395 至少有 K 个重复字符的最长子串 [✓] 哈希表 字符串 分治 1+ 🟠 🀄️ 🔗
399 除法求值 [✓] 深度优先搜索 广度优先搜索 并查集 4+ 🟠 🀄️ 🔗
402 移掉 K 位数字 [✓] 贪心 字符串 1+ 🟠 🀄️ 🔗
408 有效单词缩写 🔒 双指针 字符串 🟢 🀄️ 🔗
409 最长回文串 [✓] 贪心 哈希表 字符串 🟢 🀄️ 🔗
411 最短独占单词缩写 🔒 位运算 数组 字符串 1+ 🔴 🀄️ 🔗
412 Fizz Buzz [✓] 数学 字符串 模拟 🟢 🀄️ 🔗
415 字符串相加 [✓] 数学 字符串 模拟 🟢 🀄️ 🔗
418 屏幕可显示句子的数量 🔒 数组 字符串 动态规划 🟠 🀄️ 🔗
420 强密码检验器 贪心 字符串 堆(优先队列) 🔴 🀄️ 🔗
423 从英文中重建数字 [✓] 哈希表 数学 字符串 🟠 🀄️ 🔗
424 替换后的最长重复字符 [✓] 哈希表 字符串 滑动窗口 🟠 🀄️ 🔗
425 单词方块 🔒 字典树 数组 字符串 1+ 🔴 🀄️ 🔗
428 序列化和反序列化 N 叉树 🔒 深度优先搜索 广度优先搜索 1+ 🔴 🀄️ 🔗
433 最小基因变化 [✓] 广度优先搜索 哈希表 字符串 🟠 🀄️ 🔗
434 字符串中的单词数 [✓] 字符串 🟢 🀄️ 🔗
438 找到字符串中所有字母异位词 [✓] 哈希表 字符串 滑动窗口 🟠 🀄️ 🔗
439 三元表达式解析器 🔒 递归 字符串 🟠 🀄️ 🔗
443 压缩字符串 [✓] 双指针 字符串 🟠 🀄️ 🔗
449 序列化和反序列化二叉搜索树 [✓] 深度优先搜索 广度优先搜索 4+ 🟠 🀄️ 🔗
451 根据字符出现频率排序 [✓] 哈希表 字符串 桶排序 3+ 🟠 🀄️ 🔗
459 重复的子字符串 [✓] 字符串 字符串匹配 🟢 🀄️ 🔗
466 统计重复个数 字符串 动态规划 🔴 🀄️ 🔗
467 环绕字符串中唯一的子字符串 [✓] 字符串 动态规划 🟠 🀄️ 🔗
468 验证IP地址 字符串 🟠 🀄️ 🔗
471 编码最短长度的字符串 🔒 字符串 动态规划 🔴 🀄️ 🔗
472 连接词 深度优先搜索 字典树 数组 2+ 🔴 🀄️ 🔗
474 一和零 [✓] 数组 字符串 动态规划 🟠 🀄️ 🔗
481 神奇字符串 双指针 字符串 🟠 🀄️ 🔗
482 密钥格式化 [✓] 字符串 🟢 🀄️ 🔗
484 寻找排列 🔒 贪心 数组 1+ 🟠 🀄️ 🔗
488 祖玛游戏 广度优先搜索 记忆化搜索 2+ 🔴 🀄️ 🔗
499 迷宫 III 🔒 深度优先搜索 广度优先搜索 5+ 🔴 🀄️ 🔗
500 键盘行 [✓] 数组 哈希表 字符串 🟢 🀄️ 🔗
514 自由之路 [✓] 深度优先搜索 广度优先搜索 字符串 1+ 🔴 🀄️ 🔗
516 最长回文子序列 [✓] 字符串 动态规划 🟠 🀄️ 🔗
520 检测大写字母 [✓] 字符串 🟢 🀄️ 🔗
521 最长特殊序列 Ⅰ [✓] 字符串 🟢 🀄️ 🔗
522 最长特殊序列 II 数组 哈希表 双指针 2+ 🟠 🀄️ 🔗
524 通过删除字母匹配到字典里最长单词 数组 双指针 字符串 1+ 🟠 🀄️ 🔗
527 单词缩写 🔒 贪心 字典树 数组 2+ 🔴 🀄️ 🔗
535 TinyURL 的加密与解密 设计 哈希表 字符串 1+ 🟠 🀄️ 🔗
536 从字符串生成二叉树 🔒 深度优先搜索 2+ 🟠 🀄️ 🔗
537 复数乘法 数学 字符串 模拟 🟠 🀄️ 🔗
539 最小时间差 数组 数学 字符串 1+ 🟠 🀄️ 🔗
541 反转字符串 II [✓] 双指针 字符串 🟢 🀄️ 🔗
544 输出比赛匹配对 🔒 递归 字符串 模拟 🟠 🀄️ 🔗
551 学生出勤记录 I [✓] 字符串 🟢 🀄️ 🔗
555 分割连接字符串 🔒 贪心 数组 字符串 🟠 🀄️ 🔗
556 下一个更大元素 III 数学 双指针 字符串 🟠 🀄️ 🔗
557 反转字符串中的单词 III [✓] 双指针 字符串 🟢 🀄️ 🔗
564 寻找最近的回文数 数学 字符串 🔴 🀄️ 🔗
567 字符串的排列 [✓] 哈希表 双指针 字符串 1+ 🟠 🀄️ 🔗
583 两个字符串的删除操作 [✓] 字符串 动态规划 🟠 🀄️ 🔗
588 设计内存文件系统 🔒 设计 字典树 哈希表 2+ 🔴 🀄️ 🔗
591 标签验证器 字符串 🔴 🀄️ 🔗
592 分数加减运算 数学 字符串 模拟 🟠 🀄️ 🔗
599 两个列表的最小索引总和 [✓] 数组 哈希表 字符串 🟢 🀄️ 🔗
604 迭代压缩字符串 🔒 设计 数组 字符串 1+ 🟢 🀄️ 🔗
606 根据二叉树创建字符串 深度优先搜索 字符串 1+ 🟠 🀄️ 🔗
609 在系统中查找重复文件 数组 哈希表 字符串 🟠 🀄️ 🔗
616 给字符串添加加粗标签 🔒 字典树 数组 哈希表 2+ 🟠 🀄️ 🔗
635 设计日志存储系统 🔒 设计 哈希表 字符串 1+ 🟠 🀄️ 🔗
639 解码方法 II 字符串 动态规划 🔴 🀄️ 🔗
640 求解方程 数学 字符串 模拟 🟠 🀄️ 🔗
642 设计搜索自动补全系统 🔒 深度优先搜索 设计 字典树 4+ 🔴 🀄️ 🔗
647 回文子串 双指针 字符串 动态规划 🟠 🀄️ 🔗
648 单词替换 字典树 数组 哈希表 1+ 🟠 🀄️ 🔗
649 Dota2 参议院 [✓] 贪心 队列 字符串 🟠 🀄️ 🔗
657 机器人能否返回原点 [✓] 字符串 模拟 🟢 🀄️ 🔗
664 奇怪的打印机 字符串 动态规划 🔴 🀄️ 🔗
676 实现一个魔法字典 深度优先搜索 设计 字典树 2+ 🟠 🀄️ 🔗
677 键值映射 设计 字典树 哈希表 1+ 🟠 🀄️ 🔗
678 有效的括号字符串 [✓] 贪心 字符串 1+ 🟠 🀄️ 🔗
680 验证回文串 II [✓] 贪心 双指针 字符串 🟢 🀄️ 🔗
681 最近时刻 🔒 哈希表 字符串 回溯 1+ 🟠 🀄️ 🔗
686 重复叠加字符串匹配 字符串 字符串匹配 🟠 🀄️ 🔗
691 贴纸拼词 位运算 数组 字符串 3+ 🔴 🀄️ 🔗
692 前K个高频单词 字典树 哈希表 字符串 4+ 🟠 🀄️ 🔗
696 计数二进制子串 [✓] 双指针 字符串 🟢 🀄️ 🔗
709 转换成小写字母 [✓] 字符串 🟢 🀄️ 🔗
712 两个字符串的最小ASCII删除和 [✓] 字符串 动态规划 🟠 🀄️ 🔗
720 词典中最长的单词 字典树 数组 哈希表 2+ 🟠 🀄️ 🔗
721 账户合并 深度优先搜索 广度优先搜索 并查集 4+ 🟠 🀄️ 🔗
722 删除注释 数组 字符串 🟠 🀄️ 🔗
726 原子的数量 哈希表 字符串 1+ 🔴 🀄️ 🔗
727 最小窗口子序列 🔒 字符串 动态规划 滑动窗口 🔴 🀄️ 🔗
730 统计不同回文子序列 字符串 动态规划 🔴 🀄️ 🔗
734 句子相似性 🔒 数组 哈希表 字符串 🟢 🀄️ 🔗
736 Lisp 语法解析 递归 哈希表 1+ 🔴 🀄️ 🔗
737 句子相似性 II 🔒 深度优先搜索 广度优先搜索 并查集 3+ 🟠 🀄️ 🔗
745 前缀和后缀搜索 设计 字典树 数组 2+ 🔴 🀄️ 🔗
748 最短补全词 [✓] 数组 哈希表 字符串 🟢 🀄️ 🔗
751 IP 到 CIDR 🔒 位运算 字符串 🟠 🀄️ 🔗
752 打开转盘锁 广度优先搜索 数组 哈希表 1+ 🟠 🀄️ 🔗
758 字符串中的加粗单词 🔒 字典树 数组 哈希表 2+ 🟠 🀄️ 🔗
761 特殊的二进制序列 递归 字符串 🔴 🀄️ 🔗
763 划分字母区间 [✓] 贪心 哈希表 双指针 1+ 🟠 🀄️ 🔗
767 重构字符串 贪心 哈希表 字符串 3+ 🟠 🀄️ 🔗
770 基本计算器 IV 递归 哈希表 2+ 🔴 🀄️ 🔗
771 宝石与石头 [✓] 哈希表 字符串 🟢 🀄️ 🔗
772 基本计算器 III 🔒 [✓] 递归 数学 1+ 🔴 🀄️ 🔗
777 在LR字符串中交换相邻字符 双指针 字符串 🟠 🀄️ 🔗
784 字母大小写全排列 位运算 字符串 回溯 🟠 🀄️ 🔗
791 自定义字符串排序 哈希表 字符串 排序 🟠 🀄️ 🔗