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:
1 2 3 4
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:
1 2 3
Input: haystack = "leetcode", needle = "leeto" Output: -1 Explanation: "leeto" did not occur in"leetcode", so we return -1.
Constraints:
1 <= haystack.length, needle.length <= 104
haystack and needle consist of only lowercase English characters.
Hints/Notes
good prime: 9999991
get the powHash
some edge cases of module operation(like avoid the negative number)