Leetcode Day 9: Find the Index of the First Occurrence in a String Explained

RMAG news

The problem is as follows:

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.

Example 1:

Input: haystack = “sadbutsad”, needle = “sad”
Output: 0
Explanation: “sad” occurs at index 0 and 6.
The first occurrence is at index 0, so we return 0.

Example 2:

Input: haystack = “leetcode”, needle = “leeto”
Output: -1
Explanation: “leeto” did not occur in “leetcode”, so we return -1.

This is how I solved it:

This is the first easy problem that was actually easy. Just use the built-in index() function, and that’s it!
This is how it works:

Check if ‘needle’ is a substring of ‘haystack’
If it is, return the index of the first occurrence of ‘needle’
Else if ‘needle’ is not found, return -1

if needle in haystack:
return haystack.index(needle)
else:
return -1

This is the completed solution:

class Solution:
def strStr(self, haystack: str, needle: str) -> int:
return haystack.index(needle) if needle in haystack else -1