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
.
Clarification:
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
Constraints:
-
1 <= haystack.length, needle.length <= 104
-
haystack
andneedle
consist of only lowercase English characters.
SOLUTION:
class Solution:
def strStr(self, haystack: str, needle: str) -> int:
n = len(haystack)
k = len(needle)
exists = {needle}
for i in range(0, n - k + 1):
if haystack[i : i + k] in exists:
return i
return -1
Top comments (0)