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 -
haystackandneedleconsist 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)