宝鸡商城网站开发,市场营销案例分析及解答,恩施做网站公司,东莞南城网站建设价格给你两个字符串 haystack 和 needle #xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标#xff08;下标从 0 开始#xff09;。如果 needle 不是 haystack 的一部分#xff0c;则返回 -1 。
示例 1#xff1a;
输入#xff1a;haystack 请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标下标从 0 开始。如果 needle 不是 haystack 的一部分则返回 -1 。
示例 1
输入haystack sadbutsad, needle sad
输出0
解释sad 在下标 0 和 6 处匹配。
第一个匹配项的下标是 0 所以返回 0 。
示例 2
输入haystack leetcode, needle leeto
输出-1
解释leeto 没有在 leetcode 中出现所以返回 -1 。
提示
1 haystack.length, needle.length 104
haystack 和 needle 仅由小写英文字符组成解题思路 把needle看成一个窗口块在haystack上面不断滑动
def strStr(self, haystack, needle)::type haystack: str:type needle: str:rtype: int# 如果needle是空字符串就返回0if not needle:return 0# 相当于滑动窗口算法窗口长度len(needle)滑动范围len(haystack) - len(needle)1是因为range是左闭右开区间for i in range(len(haystack) - len(needle) 1):# Python字符串自带切片操作切割出窗口大小的字符串if haystack[i:ilen(needle)] needle:return ireturn -1