算法与数据结构1800题 之字符串(一)

403 阅读2分钟

C
注意下标为0和下标为1 的转换

B
串是有限个字符组成的一种线性结构
串是字符的有限序列
空串是长度为0的串
模式匹配是串的一种重要运算
串既可以采用顺序存储,也可以采用链式存储

串 ADT
length():查询串的长度
charAt():返回第i个字符
substr(i,k):返回从第i个字符起,长度为k的子字符串
prefix(k):返回长度为k的前缀
suffix(k):返回长度为k的后缀
equals(T):判断T是否与当前字符串相等
concat(T):将T串接在当前字符串之后
indexOf(P):如果P是当前字符串的一个子串,则返回该子串的起始位置,否则返回-1;

C

A

C

A

DF

C

B
注意子串与非重复子串之间的区别

D

B
串是一种特殊的线性表,其特殊性体现在:数据元素是一个字符

BD
含有一个或者多个空格的字符串,称为空格串

答案是对的,但是我按照传统的方法计算是不对的
不知道nextval和题中的改进失败函数nextval是不是同一个东西

串的长度相等,并且两个串的对应字符相等

空格字符(ASCII值为32)组成的串,其长度等于空格的个数

字符

任意个连续的字符组成的子序列

本题答案为5

如果是从0开始,那么就是4,如果是从1开始,那么就是5

O(m+n)

01122312

01010421

答案是6,但是我觉得是5
如果是普通的直接模式匹配,就是6,如果不是直接匹配,而是KMP匹配,就是5

01112231123453456712