算法学习打卡计划

leetcode第二十八题 —— 实现strStr

2019-12-03  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读