Leetcode——strStr()——python3

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


class Solution(object):
    def str_str(self, haystack, needle):
        """
        :type haystack: str
        :type needle: str
        :rtype: int
        """


        # 方法一:
        # if needle not in haystack:
        #     return -1
        # return haystack.find(needle)
        # find()方法检测字符串中是否包含子字符串 str,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
        # str.find(str, beg=0, end=len(string))
        # str -- 指定检索的字符串
        # beg -- 开始索引,默认为0。
        # end -- 结束索引,默认为字符串的长度。


        # 方法二:
        l = len(needle)
        for i in range(len(haystack) - l + 1):   # 目标needle字符串的长度在haystack字符串中比较需要多少次
            if haystack[i:i + l] == needle:   # 如:i = 0 haystack[0:2] 其实按索引来只取了0和1
                return i   # 返回索引
        return -1

 

你可能感兴趣的:(Leetcode)