# 28_Implement_strStr()
###### tags: `leetcode`
## Problem Statement
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
- Example 3:
> Input: haystack = "", needle = ""
> Output: 0
- Constraints:
> 0 <= haystack.length, needle.length <= 5 * 10^4^
haystack and needle consist of only lower-case English characters.
## Solution
- Use dummy solution, simply look for the same element and proceed.
- If fail to match, turn back to the original spot and resume.
```cpp=
int j = 0;
for(int i = 0 ; i < haystack_len ; i++){
if(haystack[i] == needle[j]){
j++;
}else{
i = i-j;
j = 0;
}
if(j==needle_len){
return i - j +1 ;
}
}
```