01 字符串理论基础

121 阅读1分钟

01 字符串理论基础

1、什么是字符串

字符串是若干个字符组成的有限序列,也可以理解为一个字符数组。

2、双指针法在字符串中的应用

双指针法在数组,链表和字符串中很常用。

3、反转系列

当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章

4、KMP

KMP的主要思想是当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。

KMP的精髓所在就是前缀表,前缀表:起始位置到下标i之前(包括i)的子串中,有多大长度的相同前缀后缀。

那么使用KMP可以解决两类经典问题:

  • 匹配问题;
  • 重复子串问题;

前缀:指不包含最后一个字符的所有以第一个字符开头的连续子串。

后缀:指不包含第一个字符的所有以最后一个字符结尾的连续子串。