龙空技术网

LeetCode算法-实现 strStr() 函数

王观影 146

前言:

现在大家对“java leetcode常用函数”大约比较关注,朋友们都想要知道一些“java leetcode常用函数”的相关知识。那么小编也在网上收集了一些对于“java leetcode常用函数””的相关资讯,希望你们能喜欢,各位老铁们一起来学习一下吧!

题目说明

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

当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题,对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与 C 语言的 strstr() 以及 Java 的 indexOf() 定义相符。

算法提示

1 <= haystack.length, needle.length <= 10⁴,haystack 和 needle 仅由小写英文字符组成;

常用的算法:双指针 字符串 字符串匹配解题思路双指针左右循环判断;字符串长度匹配。代码如下

class Solution:    def strStr(self, haystack: str, needle: str) -> int:        if len(needle.strip()) == 0:            return 0        left, right = 0, len(needle)        while left < len(haystack):            if haystack[left: left+right] != needle:                left += 1            else:                return left        return -1
总结

上一篇文章《LeetCode算法-删除有序列表中重复项》,被人投诉为侵权,头条君减了20信用分,根据侵权的链接查看了下,除了算法题目和说明一样之外,其他没有一点相似之处,我使用的双指针解法,她使用的递归解法,我使用python开发语言,她使用java,我就很郁闷,LeetCode官方出的算法题,本来就是公开的,怎么到了她那里就成了我侵权了呢,这是什么逻辑,难道就因为她早发了几天,就可以肆无忌惮的投诉别人嘛!

已经把leetcode提交的代码和本地的代码文档拍照发给了头条君进行申诉了,如果还不行,那就抗争到底吧!

人生苦短,我用python!

#学习##学习打卡##python##程序员###致敬平凡的你#

标签: #java leetcode常用函数