> For the complete documentation index, see [llms.txt](https://anand-aryan.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://anand-aryan.gitbook.io/leetcode/28.-implement-strstr.md).

# 28. Implement strStr()

Implement strStr()

Implement strStr().

Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

## Solution <a href="#solution" id="solution"></a>

```java
public class Solution {
   public int strStr(String haystack, String needle) {
        if (needle.length() == 0)
            return 0;

        for (int i = 0; i < haystack.length(); i++) {
            if (haystack.length() - i + 1 < needle.length())
                return -1;

            int k = i;
            int j = 0;

            while (j < needle.length() && k < haystack.length() && needle.charAt(j) == haystack.charAt(k)) {
                j++;
                k++;
                if (j == needle.length())
                    return i;
            }

        }
        return -1;
    }

}
```
