DEV Community

Isaac Tonyloi
Isaac Tonyloi

Posted on


Implement StrStr

28. Implement strStr()


Implement strStr().

Given two strings needle and haystack, return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.


What should we return when needle is an empty string? This is a great question to ask during an interview.

For the purpose of this problem, we will return 0 when needle is an empty string. This is consistent to C's strstr() and Java's indexOf().


Example 1:

Input: haystack = "hello", needle = "ll"
Output: 2

Example 2:

Input: haystack = "aaaaa", needle = "bba"
Output: -1



  • 1 <= haystack.length, needle.length <= 104
  • haystack and needle consist of only lowercase English characters.

Python solution

class Solution:
    def strStr(self, haystack: str, needle: str) -> int:

        for i in range(len(haystack)):
            if haystack[i: i + len(needle)] == needle:
                return i
        return -1
Enter fullscreen mode Exit fullscreen mode

Oldest comments (0)

Regex for lazy developers

regex for lazy devs

You know who you are. Sorry for the callout 😆