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

Latest comments (0)

50 CLI Tools You Can't Live Without

The top 50 must-have CLI tools, including some scripts to help you automate the installation and updating of these tools on various systems/distros.