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

Top comments (0)

Super Useful CSS Resources

>> Check out this classic DEV post <<