python实现leetcode-第28题-实现strStr()

class Solution:
    def strStr(self, haystack, needle):
        """
        :type haystack: str
        :type needle: str
        :rtype: int
        """
        if needle == "" or needle == haystack:
            return 0
        elif len(needle)> len(haystack):
            return -1
        else:
            for i in range(len(haystack)-1):
                if haystack[i] == needle[0]:
                    n = len(needle)
                    #print(haystack[i:i+n]) 
                    if haystack[i:i+n] == needle:
                        return i
                    else:
                        pass
            return -1

思路:遇到与needle首字符相同,则比较是否有包含。

注意:空字符串,needle更长,单字符的特殊情况,注意字符串切片用法

拓展:KMP算法

 

全部评论

相关推荐

zzzzhz:兄弟你先猛猛投简历至少三百家,能约到面试就去面。最近可以速成智能小车,智慧家居烂大街的项目,不需要自己写,只需要把里面的代码讲解看明白就行。把其中涉及到的八股文都拿出来单独背一下,我去年找工作就一个智能小车智慧家居找了10k差不多。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务