题目描述
解题思路
一种暴力破解,一种就是根据KMP算法。博主使用的第一种方法进行的计算。
在遍历主字符串的过程中,如果发现和子串的第一个字母相同,那么开始进行子串的遍历。如果能成功遍历子串,那么返回主字符串的当前位置,遍历结束,反之直至主要的字符串遍历结束,返回失败的标志。
解题代码
class Solution:
def strStr(self, haystack: str, needle: str) -> int:
lengthneedle=len(needle)
if len(needle)==0:
return -1
for i in range(0,len(haystack)):
if haystack[i]==needle[0]:
k=1
for j in range(1,lengthneedle):
if i+k<len(haystack) and haystack[i+k]==needle[j]:
k=k+1
continue
if k==lengthneedle:
return i
return -1