`

Implement strStr()

阅读更多
Implement strStr().

Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

这道题目实际上就是让我们实现java中的indexOf方法,有关字符串匹配的问题,有一个时间复杂为线性时间的算法-KMP,这里我们使用java中的substring方法来解决。代码如下:

public class Solution {
    public int strStr(String haystack, String needle) {
        if(haystack == null || needle == null ) return 0;
        int m = haystack.length();
        int n = needle.length();
        for(int i = 0; i <= m - n; i++) {
            String s = haystack.substring(i, i + n);
            if(s.equals(needle))
                return i;
        }
        return -1;
    }
}
分享到:
评论

相关推荐

    ImplementstrStr:返回大海捞针中第一次出现的针的索引;如果不属于大海捞针,则返回-1

    在编程领域,`strStr()` 函数是一个常见的字符串搜索功能,它用于在一个字符串("大海捞针")中查找另一个字符串("针")的首次出现位置。在给定的标题和描述中,我们看到的任务是实现这个函数,并且特别指明了使用...

    c语言-leetcode 0028-implement-strstr.zip

    c c语言_leetcode 0028_implement_strstr.zip

    C语言-leetcode题解之28-implement-strstr.c

    c语言入门 C语言_leetcode题解之28-implement-strstr.c

    js-leetcode题解之28-implement-strStr().js

    js js_leetcode题解之28-implement-strStr().js

    经典编程题1

    字符串查找(Implement strStr())。 首先,我们来看第一个问题——链表的重排。题目要求将给定的单链表重新排列,使其呈现出交错的顺序。例如,原始链表L0→L1→L2→L3→L4应变为L0→L4→L1→L3→L2。实现这一...

    LeetCode 28. 实现 strStr()

    【实现 strStr() 知识点详解】 在编程领域,字符串操作是常见且重要的任务之一。LeetCode 的第 28 题“实现 strStr()”是一个经典的字符串搜索问题,要求我们在给定的字符串(haystack)中查找另一个字符串(needle...

    leetcode信封-LeetCode:LeetCode解题

    ImplementstrStr.java //28. Implement strStr() │ LongestIncreasingSubsequence.java 300.Longest Increasing Subsequence | LongestPalindromicSubstring.java 5. Longest Palindromic Substring │ RansomNote...

    LeetCode 刷题汇总1

    * 实现strStr()(Implement strStr()):实现字符串搜索算法。 7. 排序和搜索: * 合并两个排序列表(Merge Two Sorted Lists):合并两个排序列表。 * 搜索插入位置(Search Insert Position):在排序数组中...

    LeetCode题解(java语言实现).pdf

    * Implement strStr():该题目要求实现字符串查找算法,实现方法使用了Knuth-Morris-Pratt算法。 四、搜索和排序 * Search Insert Position:该题目要求在排序数组中查找元素,实现方法使用了二分查找算法。 * ...

    Leetcode部分解答(126题)

    7. **Implement strStr().cpp** - 第28题,实现字符串查找功能,即在一个字符串中查找另一个字符串首次出现的位置。可以使用KMP算法或其他字符串匹配算法来解决。 8. **N-Queens(better,backtracking).cpp** - 另一...

    CleanCodeHandbook_v1.0.3

    - Implement strStr()(实现 strStr() 函数) - Reverse Words in a String(字符串中的单词翻转) - String to Integer (atoi)(字符串转换整数) - Longest Substring Without Repeating Characters(无重复...

    获取目标字符串在源字符串第一次出现的下标Demo

    在"ImplementstrStr.java"文件中,可能包含如下示例代码: ```java public class Main { public static void main(String[] args) { String source = "hello world"; String target = "world"; int index = ...

    常见算法题答案及解析

    5. Implement strStr():实现strStr()函数,即在文本中查找模式串的出现,可以使用KMP算法。 6. Reverse Words in a String:给定一个字符串,将其单词反转并保持单词内部顺序不变。 7. Reverse Words in a String ...

    algorithm-essentials-java

    - **ImplementstrStr()** - 描述:实现字符串查找功能,找到模式字符串在文本字符串中的起始位置。 - 关键技术:滑动窗口或KMP算法实现高效匹配。 - **LongestPalindromicSubstring** - 描述:找出给定字符串中的...

    算法刷题笔记leetcode/lintcode

    - Implement strStr(实现strStr函数) - Two Strings Are Anagrams(两个字符串是否为字母异位词) - Compare Strings(比较字符串) - Group Anagrams(字母异位词分组) - Longest Common Substring(最长...

    leetcode java

    - 在字符串中查找子串(Implement strStr())则是一个经典的问题,需要实现字符串查找功能。 **数学(Math)** 数学题目主要考察基本的数学知识和逻辑推理能力。 - "反转整数"(Reverse Integer)涉及到了整数的...

    Leetcode book刷题必备

    5. Implement strStr():实现字符串查找功能,返回子字符串在字符串中的起始索引。 6. Reverse Words in a String:翻转字符串中的单词顺序。 7. Reverse Words in a String II:翻转字符串中的单词顺序,并且整个...

    LeetCode算法设计

    - **028.ImplementstrStr()[E]**:实现`strStr()`函数,返回`haystack`中`needle`的起始索引。 通过以上分析,我们可以看到LeetCode中涵盖了丰富的算法和技术点,这些题目不仅有助于提高编程技能,还能加深对...

Global site tag (gtag.js) - Google Analytics