目录

力扣总结 数据结构(三):字符串

字符串和数组很相似,具有索引,且元素在内存中是连续存储的。不同的是:

  • 字符串更关心整体或子串,而非单个元素。
  • 字符串可以整体比较,还可以按字典序等来排序。

python 中的字符串是不可变的,不能直接修改、添加、删除元素,而应该用切片。

经典的问题有:

  • 字符串匹配,常用 KMP算法、正则表达式。
  • 回文串,常用 Manacher 算法。

额外的,还常用 字典树 解决多字符串匹配问题,这里暂不涉及

1 基础

  • 0009 回文数
  • 0165 比较版本号
  • 0392 判断子序列
  • 0831 隐藏个人信息
  • 1169 查询无效交易

2 进阶

  • 0068 文本左右对齐
  • 0393 UTF-8 编码验证
  • 0459 重复的子字符串
  • 0686 重复叠加字符串匹配
  • 0833 字符串中的查找与替换

3 挑战

  • 0564 寻找最近的回文数
  • 0866 回文素数

4 正则表达式

  • 0008 字符串转换整数 (atoi)
  • 0044 通配符匹配
  • 0065 有效数字
  • 1023 驼峰式匹配

*5 字符串匹配

  • 0005 最长回文子串
  • 0028 实现 strStr()
  • 0214 最短回文串
  • 1392 最长快乐前缀