2019-01-07 实现strStr()

151 阅读1分钟

解决方式1:暴力循环

class Solution(object):
    def strStr(self, haystack, needle):
        if not needle:
            return 0
        if len(needle) > len(haystack):
            return -1
        for i in range(len(haystack)):
            if i+len(needle) < len(haystack):
                if haystack[i:i+len(needle)] == needle:
                    return i
            else:
                if haystack[i:i+len(needle)] == needle:
                    return i
                else:
                    return -1

解决方式2:使用string方法

class Solution(object):
    def strStr(self, haystack, needle):
        return haystack.find(needle)

在做完之后看了一下评论,很多人都在说KMP算法,我也研究了一下,但是并没有懂。有懂的同学可以给我讲解讲解。