美文网首页算法学习打卡计划
leetcode第二十八题 —— 实现strStr

leetcode第二十八题 —— 实现strStr

作者: 不分享的知识毫无意义 | 来源:发表于2019-12-03 00:08 被阅读0次

    1.题目

    原题:

    实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。

    例子:

    输入: haystack = "aaaaa", needle = "bba"
    输出: -1
    

    2.解析

    这个题没什么难度,甚至没有什么思路好讲。我的想法是,根据needle字符串长度截取haystack直到取到符合条件的字符串或者没有满意的字符串出现。
    是有一个知识点要说:
    当截取字符串超过字符串本身长度时,python不报错。比如a=[1,2],a[1:1000],取到的依然是2。

    3.python代码

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

    相关文章

      网友评论

        本文标题:leetcode第二十八题 —— 实现strStr

        本文链接:https://www.haomeiwen.com/subject/tbuqgctx.html