LeetCode Solutions
28. Find the Index of the First Occurrence in a String
Time: $O((m - n)n)$, where $m = |\texttt{haystack}|$ and $n = |\texttt{needle}|$ Space: $O(1)$
class Solution {
public:
int strStr(string haystack, string needle) {
const int m = haystack.length();
const int n = needle.length();
for (int i = 0; i < m - n + 1; i++)
if (haystack.substr(i, n) == needle)
return i;
return -1;
}
};
class Solution {
public int strStr(String haystack, String needle) {
final int m = haystack.length();
final int n = needle.length();
for (int i = 0; i < m - n + 1; ++i)
if (haystack.substring(i, i + n).equals(needle))
return i;
return -1;
}
}
class Solution:
def strStr(self, haystack: str, needle: str) -> int:
m = len(haystack)
n = len(needle)
for i in range(m - n + 1):
if haystack[i:i + n] == needle:
return i
return -1