int index(SString S, SString T) {
int i = 1, j = 1;
while (i <= S.length && j<= T.length) {
if (S.ch[i] == T.ch[j])
i++, j++;
else {
i = i - j + 2;
j = 1;
}
}
if (j > T.length)
return i - T.length;
else
return 0;
}
串的简单模式匹配
主串与模式串指针均需要回溯,浪费前缀扫描空间
时间复杂度为O(mn)