Please solve the programming task below using a self-contained code snippet in a markdown code block.

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.
 
Please complete the following python code precisely:
```python
class Solution:
    def strStr(self, haystack: str, needle: str) -> int:
```