让我们通过一个例子来理解这种情况。 现在我们必须检查给定的字符串 y 是否是另一个字符串 x 的子串 。
如果 y 是 x 的子串 , 那么我们将返回其第一次出现的索引,如果不是,那么将返回-1。

我们开始遍历字符串 x 并维护一个迭代器(指针), k 为字符串 y,从第0个索引开始。
我们 在 每次迭代 中比较 x中的当前字符 ,并将其与迭代器目前在 y 中出现的索引元素进行检查 。

如果匹配,我们将 y 上的 迭代器 k增加 1。如果不匹配,我们将迭代器重新初始化为0。

我们必须注意迭代器的位置,因为当它的值等于字符串 y的长度时 , 我们在这里中断执行并返回值
(指向字符串a的迭代器索引-指向字符串b的迭代器索引)。

现在,我们将结合所有这些步骤,编写一个程序。

这种方法的优点是,它能有效地工作,这涉及到有重复字符的字符串。